Access爱好者--
所属分类: 实用代码 作者: esmile 更新日期:2003-11-18 9:24:59 阅读次数:301

对注册表操作技巧-将程序在开机时运行


我们可以看到一些程序在开机时就会自动运行,象Winpopup就是这样的,这是怎么实现的呢?可以把需要运行的程序添加到“开始”-“程序”-“启动”中,还有一种方法就是写入注册表了,这里我们讨论通过写注册表来实现的方法,从中可以看到三个对注册表操作的API函数的使用技巧。

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

   Private Declare Function RegSetvalue Lib "advapi32.dll" Alias "RegSetvalueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
   Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
   Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

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

   Private Const HKEY_LOCAL_MACHINE = &H80000002;
   Private Const REG_SZ = 1

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

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


--------------------------------------------------------------------------------
相关文章

限制软件试用次数及时间 2003-11-13 10:54:17
限制软件30天试用 2003-11-13 10:53:18
ACCESS的数据库安全问题解答 2003-11-13 10:52:11
如何强制 Access 显示四位数年份的日期 2003-10-10 10:34:21
Access启动命令行选项大全 2003-10-10 10:02:00


系统优化
控件使用
数据库设计
数据库连接
系统安全
OLE自动化
常见问题
实用代码
属性详解
网络相关
实用API
经验分享
精选教程
字符处理
ADP相关



文章搜索



制作维护:李寻欢     Mail:[email protected]

关于本站 -- 网站服务 -- 版权条款 -- 联系方法 -- 网站帮助
Access爱好者版权所有 Copyright 2003-2005 All Rights Reserved 未经许可不得盗链