2007-04-23 10:05:54 Kenny

如何在 Windows 啟動時自動執行某一個程式

這只要在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run新增一個字串值就行了 程式如下


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.dll" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Private Declare Function RegCloseKey Lib _
"advapi32.dll" (ByVal hKey As Long) As Long
Private Const REG_SZ = 1
Private Const ERROR_SUCCESS = 0&
Private Const HKEY_LOCAL_MACHINE = &H80000002
Public Sub SetStartProgram(Name As String, Comm As String)
Dim hKey As Long
If RegCreateKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hKey) = ERROR_SUCCESS Then
    RegSetValueEx hKey, Name, 0, REG_SZ, ByVal Comm, Len(Comm)
    RegCloseKey hKey
End If
End Sub


  • 如果你想在開機時執行 regedit 你可以這樣
    SetStartProgram "My Program1","Regedit"
  • 如果你想在開機時關機你可以這樣
    SetStartProgram "My Program2","rundll user.exe,exitwindows"
    不過最好別這樣做啦