当前位置:编程学习 > VB >>

写注册表操作的VB代码有问题

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 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 ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,