'根鍵常數(shù)
Const HKEY_CLASSES_ROOT = -2147483648#
Const HKEY_CURRENT_USER = -2147483647#
Const HKEY_LOCAL_MACHINE = -2147483646#
Const HKEY_USERS = -2147483645#
'鍵值類型
Const REG_SZ = 1& '字符串值
Const REG_BINARY = 3& '二進制值
Const REG_DWORD = 4& 'DWORD 值
'聲明有關(guān)API函數(shù)
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
( _
ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByRef phkResult As Long _
) As Long '建立一個新的主鍵
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _
( _
ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByRef phkResult As Long _
) As Long '打開一個主鍵
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" _
( _
ByVal hKey As Long, _
ByVal lpSubKey As String _
) As Long '刪除一個主鍵
Private Declare Function RegCloseKey Lib "advapi32.dll" _
( _
ByVal hKey As Long _
) As Long '關(guān)閉一個主鍵
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, _
ByVal lpData As Any, _
ByVal cbData As Long _
) As Long '創(chuàng)建或改變一個鍵值,lpData應(yīng)由缺省的ByRef型改為ByVal型
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _
( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal lpReserved As Long, _
ByRef lpType As Long, _
ByVal lpData As Any, _
ByRef lpcbData As Long _
) As Long '查詢一個鍵值,lpData應(yīng)由缺省的ByRef型改為ByVal型
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" _
( _
ByVal hKey As Long, _
ByVal lpValueName As String _
) As Long '刪除一個鍵值
'主過程
Private Sub Form_Load()
Dim nKeyHandle As Long, nValueType As Long, nLength As Long
Dim sValue As String
sValue = "I am a winner!"
'Call RegCreateKey(HKEY_CURRENT_USER, "New Registry Key", nKeyHandle)
Call RegOpenKey(HKEY_CURRENT_USER, "New Registry Key", nKeyHandle) '若沒有創(chuàng)建鍵值,則需掉用打開,否注釋這個
'Call RegSetValueEx(nKeyHandle, "My Value", 0, REG_SZ, sValue, 255)
sValue = Space(255)
nLength = 255
Call RegQueryValueEx(nKeyHandle, "My Value", 0, nValueType, sValue, nLength)
MsgBox sValue
' Call RegDeleteValue(nKeyHandle, "My Value")
' Call RegDeleteKey(HKEY_CURRENT_USER, "New Registry Key")
' Call RegCloseKey(nKeyHandle)
End Sub