WEB开发网
开发学院WEB开发综合 VB对注册表操作程序开机时运行 阅读

VB对注册表操作程序开机时运行

 2006-02-27 11:52:10 来源:WEB开发网   
核心提示:我们可以看到一些程序在开机时就会自动运行,象Winpopup就是这样的,VB对注册表操作程序开机时运行,这是怎么实现的呢?可以把需要运行的程序添加到“开始”-“程序”-“启动”中,还有一种方法就是写入注册表了,你可以把这段代码放在程序的某个位置:'写注册表DimRet2AsLong'打开HKEY_LOC
我们可以看到一些程序在开机时就会自动运行,象Winpopup就是这样的,这是怎么实现的呢?可以把需要运行的程序添加到“开始”-“程序”-“启动”中,还有一种方法就是写入注册表了,这里我们讨论通过写注册表来实现的方法,从中可以看到三个对注册表操作的API函数的使用技巧。

  首先要声明这三个API函数,它们分别是:RegSetValue、RegCreateKey、RegCloseKey,其作用是设置某一个主键的键值、创建一个主键、关闭对注册表主键的操作。

   PRivateDeclareFunctionRegSetValueLib"advapi32.dll"Alias"RegSetValueA"(ByValhKeyAsLong,ByVallpSubKeyAsString,ByValdwTypeAsLong,ByVallpDataAsString,ByValcbDataAsLong)AsLong
   PrivateDeclareFunctionRegCreateKeyLib"advapi32.dll"Alias"RegCreateKeyA"(ByValhKeyAsLong,ByVallpSubKeyAsString,phkResultAsLong)AsLong
   PrivateDeclareFunctionRegCloseKeyLib"advapi32.dll"(ByValhKeyAsLong)AsLong

  然后声明以下两个常数,要进行注册表写入的位置是在HKEY_LOCAL_MACHINE下,我们可以在VB自带的API文本查看器中找到这些常数的定义方法。

   PrivateConstHKEY_LOCAL_MACHINE=&H80000002
   PrivateConstREG_SZ=1

  然后使用如下语句就行了,你可以把这段代码放在程序的某个位置:

  '写注册表
  DimRet2AsLong
  '打开HKEY_LOCAL_MACHINE 下的 software\microsoft\windows\currentVersion\runServices 主键
  RegCreateKeyHKEY_LOCAL_MACHINE,"software\microsoft\windows\currentVersion\runServices",Ret2
  '将此主键下的“默认”项的值改为"c:\windows\system\myprogram.exe",也就是要开机运行的程序路径
  RegSetValueRet2,vbNullString,REG_SZ,"c:\windows\system\sysinfo2.exe",4
  '关闭对主键的操作
  RegCloseKeyRet2

  如果你对注册表各个部分的功能还不了解的话,可以参照“电脑入门”栏目下的注册表教程进行学习。->

Tags:VB 注册表 操作

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接