这个问题这么解决,由于系统自动运行的程序都放在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下,你打开注册表,就会看到开机自启程序都在这里,你可以在CommandButton1中将你想运行的程序路径写到该键下,而在CommandButton2中将该值删除就可以了!写注册表需要调用API,我想大家都知道,我就不多说了:)
调试欢乐多
Dim hKey As Long, SubKey As String, Exe As String SubKey = "Software\Microsoft\Windows\CurrentVersion\Run"
Exe = "H:\泡泡龙3\pb.exe"
RegCreateKey HKEY_CURRENT_USER, SubKey, hKey
RegSetValueEx hKey, "paopao", 0, REG_SZ, ByVal Exe, _
LenB(StrConv(Exe, vbFromUnicode)) + 1
RegCloseKey hKey
MsgBox "notepad 程序已经被设定成 Windows 启动时自动被执行的程序!"End Sub这段代码是加入注册表的,但是删除的怎么写呢?
敬请指教
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As LongPublic Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
这样可以了吧?
在CmdAdd_CLICK事件里把程序写入到自动启动
在CmdDel_CLICK事件里把程序从自动启动里删除
记得判断该键是否存在.
If RegDeleteValue(hKey, "你的键名") = 0 Then
MsgBox "已经删除", vbInformation
Else
MsgBox "操作失败", vbCritical, "ERROR"
End If
End If
如果还不明白请给我发短信息!