在VB中如何利用api函數修改WINDOWS注冊表中REG_BINARY(16)的值?
在VB中如何調用.reg文件?謝謝大家

解决方案 »

  1.   

    補充一點:是修改reg_binary類型的值
      

  2.   

    RegSetValueEx
    dwType用REG_BINARY
      

  3.   

    http://www.vbgood.com/vb.good/article-do-view-articleid-2521-page-8.html
      

  4.   

    这样调用脚本
    Shell "regedit c:\a.reg"
      

  5.   

    Private Declare Function ShellExecute Lib "shell32.dll" Alias _
                    "ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
                    String, ByVal lpszFile As String, ByVal lpszParams As String, _
                    ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long
    Const SW_SHOWNORMAL = 1
    Private Sub Command1_Click()
    StartDoc = ShellExecute(0, "Open", "c:\a.reg", "", "C:\", SW_SHOWNORMAL)
    End Sub也可这样调用脚本
      

  6.   

    vansoft(Vansoft Workroom:VB中如何自動生成修改註冊表代碼的功能?
    用RegSetValueEx 修改能否說的具體一些
      

  7.   

    用ShellExecute 調用.reg脚本時,系統會出現詢問信息,如何可以讓系統不要出現詢問信息?
      

  8.   

    Shell "regedit c:\a.reg -s"这样就没有框了,
      

  9.   

    Shell "regedit /s c:\a.reg"这样就没有框了。
    =================================
    好象是这样哦!!       ^_^
      

  10.   

    C:\Program Files\Microsoft Visual Studio\VB98\Template\Code
    VB的安裝目錄下
      

  11.   

    下边的程序修改“HKEY_CURRENT_USER\SOFTWARE\MY TEST REG”下"My Reg"的键值。做个参考吧。
    Option ExplicitPrivate Const REG_SZ As Long = 1
    Private Const REG_BINARY = 3
    Private Const REG_DWORD As Long = 4
    Private Const HKEY_CURRENT_USER = &H80000001
    Private Const KEY_ALL_ACCESS = &H3FPrivate Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
    Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, 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 Sub Command1_Click()
        SetRegKeyValue HKEY_CURRENT_USER, "SOFTWARE\MY TEST REG", "My Reg", 200, REG_BINARY
    End SubPrivate Function SetRegKeyValue(lPredefinedKey As Long, sKeyName As String, sValueName As String, vValueSetting As Variant, lValueType As Long) As Boolean
        Dim lRetVal As Long
        Dim hKey As Long
        
        SetRegKeyValue = False
        
        lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
        If lRetVal = 0 Then
            Select Case lValueType
                Case REG_SZ
                    
                Case REG_DWORD
                    
                Case REG_BINARY
                    lRetVal = RegSetValueEx(hKey, sValueName, 0&, lValueType, CByte(vValueSetting), 4)
            End Select
            RegCloseKey (hKey)
            If lRetVal = 0 Then SetRegKeyValue = True
        End If
    End Function