Visual Basic 6: Modify the Registry

How to modify the registry:

Attribute VB_Name = "modRegistryChange"
Option Explicit

Public Declare Function RegOpenKeyEx Lib "Coredll" _
                Alias "RegOpenKeyExW" _
                        (ByVal hKey As Long, _
                        ByVal lpSubKey As String, _
                        ByVal ulOptions As Long, _
                        ByVal samDesired As Long, _
                        phkResult As Long) As Long

Public Declare Function RegQueryInfoKey Lib "Coredll" _
                Alias "RegQueryInfoKeyW" _
                        (ByVal hKey As Long, _
                        ByVal lpClass As String, _
                        lpcbClass As Long, _
                        ByVal lpReserved As Long, _
                        lpcSubKeys As Long, _
                        lpcbMaxSubKeyLen As Long, _
                        lpcbMaxClassLen As Long, _
                        lpcValues As Long, _
                        lpcbMaxValueNameLen As Long, _
                        lpcbMaxValueLen As Long, _
                        lpcbSecurityDescriptor As Long, _
                        lpftLastWriteTime As Long) As Long

Public Declare Function RegQueryValueEx Lib "Coredll" _
                Alias "RegQueryValueExW" _
                        (ByVal hKey As Long, _
                        ByVal lpValueName As String, _
                        ByVal lpReserved As Long, _
                        lpType As Long, _
                        ByVal lpData As String, _
                        lpcbData As Long) As Long
' Note that if you declare the lpData parameter as String, _
'you must pass it By Value.

Public Declare Function RegSetValueEx Lib "Coredll" _
                Alias "RegSetValueExW" _
                        (ByVal hKey As Long, _
                        ByVal lpValueName As String, _
                        ByVal Reserved As Long, _
                        ByVal dwType As Long, _
                        ByVal lpData As String, _
                        ByVal cbData As Long) As Long
' Note that if you declare the lpData parameter as String, _
'you must pass it By Value.

Public Const HKEY_CURRENT_USER = &H80000001
Public Const REG_DWORD = 4 ' 32-bit number

'    RegSetValueEx HKEY_CURRENT_USER, "Software\Symbol\ScanWedge\AutoEnter", 0, REG_DWORD, 1, 4
'    RegSetValueEx HKEY_CURRENT_USER, "Software\Symbol\ScanWedge\AutoTab", 0, REG_DWORD, 0, 4

Leave a Reply