龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

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

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
我们可以看到一些程序在开机时就会自动运行,象Winpopup就是这样的,这是怎么实现的呢?可以把需要运行的程序添加到“开始”-“程序”-“启动”中,还有一种方法就是写入注册表了
我们可以看到一些程序在开机时就会自动运行,象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 下的 softwaremicrosoftwindowscurrentVersion unServices 主键
  RegCreateKeyHKEY_LOCAL_MACHINE,"softwaremicrosoftwindowscurrentVersion unServices",Ret2
  '将此主键下的“默认”项的值改为"c:windowssystemmyprogram.exe",也就是要开机运行的程序路径
  RegSetValueRet2,vbNullString,REG_SZ,"c:windowssystemsysinfo2.exe",4
  '关闭对主键的操作
  RegCloseKeyRet2
  
  如果你对注册表各个部分的功能还不了解的话,可以参照“电脑入门”栏目下的注册表教程进行学习。->

精彩图集

赞助商链接