山东电视台节目单:我想用vb把注册表run下的chengxu键给删除了!

来源:百度文库 编辑:高校问答 时间:2024/04/28 02:25:07
我想用vb做个程序把注册表run下的chengxu键给删除了!

也就是实现取消开机自动运行的功能!

谢谢了

直接把贴吧回答你的答案复制过来了呵呵,赚点分分~。

首先用RegOpenKey取得SubKey的Hkey,打开注册表

VB声明 Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA"
(ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
参数类型及说明:
hKey:Key Handle
lpSubKey:SubKey名称或路径
phkResult:若RegOpenKey执行成功,则这一参数返回Subkey的hKey.

返回值: =0,表示成功;≠0,表示失败。[注意这一点与别的API函数不太一样]

比如:
ret = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft", hKey)

然后用RegDeleteValue这个API可以删除某Key的某一名称
申明:
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
参数:
hKey:Key Handle
lpValueName: Value名称,如果想删除默认值的话,传入""[空字符串]即可。
返回值: =0,表示成功;≠0,表示失败。
函数调用例:
'我们假设在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run有:
chengxu d:\xxx

用下面代码操作:

ret = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", hKey)
If ret = 0 Then
RegDeleteValue hKey, "chengxu"
MsgBox "已删除"
End If