vb添加启动项和删除启动项

作者在 2010-04-15 14:01:56 发布以下内容
vb添加启动项和删除启动项

'' 关闭打开的键
Private Declare Function RegCloseKey Lib "advapi32.dll" _
                         (ByVal hKey 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 RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" ( _
                         ByVal hKey As Long, ByVal lpValueName As String, _
                         ByVal Reserved As Long, ByVal dwType As Long, _
                         ByVal lpData As String, ByVal cbData As Long) As Long
'删除加入的键值
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" ( _
                         ByVal hKey As Long, ByVal lpValueName As String) As Long
'打开注册表subkey的hkey
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" ( _
                         ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Const HKEY_CURRENT_MACHINE = &H80000002
Private Const REG_SZ = 1
Private Sub Command1_Click()
'把应用程序加入自运行
Dim ret As Long
RegCreateKey HKEY_CURRENT_MACHINE, "SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN", ret
RegSetValueEx ret, App.EXEName, 0, REG_SZ, ByVal App.Path & "\" & App.EXEName & ".exe", ByVal LenB(StrConv(App.Path & "\" & App.EXEName & ".exe", vbFromUnicode)) + 1
RegCloseKey ret
MsgBox "成功加入启动项", , "提示"
End Sub
Private Sub Command2_Click()
'把应用程序退出自运行
Dim ret As Long
ret = RegOpenKey(HKEY_CURRENT_MACHINE, "SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN", hKey)
If ret = 0 Then
       RegDeleteValue hKey, App.EXEName
       RegCloseKey hKey
End If
MsgBox "成功删除启动项", , "提示"
End Sub
默认分类 | 阅读 916 次
文章评论,共0条
游客请输入验证码
文章分类
文章归档
最新评论