哦,你可以用注册表的函数'Write by Liu Xiaobin from 1999/12/14
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public 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
Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Const ERROR_SUCCESS = 0&
Public Const APINULL = 0&
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public ReturnCode As Long
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias _
     "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As _
     String, phkResult As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias _
     "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName _
     As String, ByVal lpReserved As Long, lpType As Long, _
     lpData As Any, lpcbData As Long) As Long
Public Const REG_SZ = 1Private Sub SetMyValue(hKey As Long, strPath As String, strValue As String, strData As String)
    Dim keyHandle&
    Dim lResult As Long
    lResult = RegCreateKey(hKey, strPath, keyHandle&)
    lResult = RegSetValueEx(keyHandle&, strValue, 0, REG_SZ, ByVal strData, Len(strData))
    lResult = RegCloseKey(keyHandle&)
End Sub
'
Public Sub systemLetMyProgramRunAtStart(strRegName As String, strProgramName As String)
    SetMyValue &H80000002, "SoftWare\Microsoft\Windows\CurrentVersion\Run", strRegName, strProgramName
End Sub

解决方案 »

  1.   

    具体的思路是用API中的regcreatekey在注册表中的SoftWare\Microsoft\Windows\CurrentVersion\Run创建一个键值
    用法
    Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项
    Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
    hKey -----------  Long,要打开项的句柄,或者一个标准项名
    lpSubKey -------  String,欲创建的新子项。可同时创建多个项,只需用反斜杠将它们分隔开即可。例如level1\level2\newkey
    phkResult ------  Long,指定一个变量,用于装载新子项的句柄