写注册表操作的VB代码有问题
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As LongPublic 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 RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Const REG_BINARY = 3
Public Const REG_SZ = 1
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Sub StartupGroup()
Dim skey As String
Dim result As Long
Dim hKeyID As Long
Dim skeyVal As String
skey = "123"
skeyVal = "C:\windows\system\12345.exe"
result = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hKeyID)
If result = 0 Then
result = RegSetvalueEx(hKeyID, ByVal skey, 0&, REG_SZ, ByVal skeyVal, LenB(skeyVal) + 1)
End If
End Sub
怎么写不进去注册表呢?有人帮忙看下问题所在么?
--------------------编程问答-------------------- Private Declare Function RegSetValueExA Lib "advapi32.dll" (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
If Len(Value) = 0 Then
Value = vbNullString ' ensure nulls are converted to a null address
nChars = 0
Else
Value = CStr(Value) ' convert to a string
nChars = Len(Value) + 1 ' size of string + null terminator
End If
ErrorCode= RegSetValueExA(m_hKey, ValueName, ByVal 0, REG_SZ, ByVal StrPtr(StrConv(Value, vbFromUnicode)), nChars)
--------------------编程问答-------------------- 能不能详细点?谢谢了!
补充:VB , 基础类