【ACCESS精品源码栏目提醒】:网学会员,鉴于大家对ACCESS精品源码十分关注,论文会员在此为大家搜集整理了“【精品】几行VB代码拿下注册表 - 其它资料”一文,供大家参考学习!
大家好,下面是我写的关于注册表操作的常用函数,希望对大家有所帮助注册表操作函数声明:以下代码由轻风工作室 REDICE 编写,引用时请作一说明。
下面先声明一些常量Public Const HKEY_CLASSES_ROOT H80000000Public Const HKEY_CURRENT_CONFIG H80000005Public Const HKEY_CURRENT_USER H80000001Public Const HKEY_DYN_DATA H80000006Public Const HKEY_LOCAL_MACHINE H80000002Public Const HKEY_USERS H80000003Public Const REG_OPTION_NON_VOLATILE 0Public Const KEY_ALL_
ACCESS H20000 Or H1 Or H2Or H4 Or H8 Or H10 Or H20 And Not H100000Public Const REG_SZ 1Public Const REG_DWORD 4下面声明注册表操作中用到的 API 函数Public Declare Function RegCreateKey Libadvapi32.dll Alias RegCreateKeyA ByVal hKey AsLong ByVal lpSubKey As String phkResult As Long AsLongPublic Declare Function RegCloseKey Lib advapi32.dllByVal hKey As Long As LongPublic Declare Function RegOpenKeyEx Libadvapi32.dll Alias RegOpenKeyExA ByVal hKey AsLong ByVal lpSubKey As String ByVal uloptions As LongByVal samDesired As Long phkResult As Long As LongPublic Declare Function RegDeleteKey Libadvapi32.dll Alias RegDeleteKeyA ByVal hKey AsLong ByVal lpSubKey As String As LongPublic Declare Function RegSetValueEx Libadvapi32.dll Alias RegSetValueExA ByVal hKey AsLong ByVal lpValueName As String ByVal Reserved AsLong ByVal dwType As Long lpData As Any ByVal cbDataAs Long As LongPublic Declare Function RegSetValueExLong Libadvapi32.dll Alias RegSetValueExA ByVal hKey AsLong ByVal lpValueName As String ByVal Reserved AsLong ByVal dwType As Long lpValue As Long ByValcbData As Long As LongPublic Declare Function RegSetValueExString Libadvapi32.dll Alias RegSetValueExA ByVal hKey AsLong ByVal lpValueName As String ByVal Reserved AsLong ByVal dwType As Long ByVal lpValue As StringByVal cbData As Long As LongPublic Declare Function RegDeleteValue Libadvapi32.dll Alias RegDeleteValueA ByVal hKey AsLong ByVal lpValueName As String As Long下面是我自己写的一些注册表操作中常用的一些函数新键注册表项Public Function createnewkeyip As Long snewkeynameAs String Dim hnewkey As Long Dim retval As Long retval RegCreateKeyip snewkeyname hnewkey If retval 0 Then RegCloseKey hnewkey 关闭上面建立或打开的项 End IfEnd Function实例:在 HKEY_CURRENT_USER 下建立项xiaopeng代码为 createnewkey HKEY_CURRENT_USER xiaopeng删除注册表项Public Function deletekeyip As Long skeyname AsString Dim hKey As Long Dim retval As Long retval RegOpenKeyExip skeyname 0KEY_ALL_
ACCESS hKey If retval 0 Then RegDeleteKey ip skeyname End IfEnd Function实例:删除上面建立的 HKEY_CURRENT_USER 下的项xiaopeng代码为 deletekey HKEY_CURRENT_USER xiaopeng新建设置数值名称Public Function setkeyvalueByVal ip As Long ByValkeyname As String ByVal valuename As String ByValvaluesetting As Variant ByVal valuetype As Long Dim retval As Long Dim hKey As Long If RegOpenKeyExip keyname 0 KEY_ALL_ACCESShKey 0 Then Exit Function Select Case valuetype Case REG_SZ RegSetValueExString hKey valuename 0REG_SZ valuesetting Lenvaluesetting Case REG_DWORD RegSetValueExLong hKey valuename 0valuetype valuesetting 4 End Select RegCloseKey hKeyEnd Function实例:在 HKEY_CURRENT_USER 下的项xiaopeng中建立名为redice键值为is xiaopeng类型为 REG_SZ 的新键代码为 setkeyvalueHKEY_CURRENT_USER xiaopeng rediceisxiaopengREG_SZ又如:在 HKEY_CURRENT_USER 下的项xiaopeng中建立名为ceshi键值为 2类型为 REG_DWORD 的新键代码为setkeyvalueHKEY_CURRENT_USERxiaopengceshi2REG_DWORD删除数值名称Public Function deletevalueByVal ip As Long ByValkeyname As String ByVal valuename As String Dim retval As Long Dim hKey As Long retval RegOpenKeyExip keyname 0KEY_ALL_
ACCESS hKey If retval 0 Then Exit Function End If RegDeleteValue hKey valuename RegCloseKey hKeyEnd Function实例:删除 HKEY_CURRENT_USER 下的项xiaopeng中名为redice的新键代码为 deletevalueHKEY_CURRENT_USER xiaopengredice查询已存在的数值内容Public Function getvalueByVal ip As Long keyname AsString valuename As String As String Dim retval As Long Dim hKey As Long Dim valuesetting As Variant Dim cddata As Long Dim lvalue As Long Dim svalue As String Dim lvaluetye As Long retval RegOpenKeyExip keyname 0KEY_ALL_
ACCESS hKey If retval 0 Then getvalue Exit Function End If retval RegQueryValueExhKey valuename 0lvaluetype ByVal VBNullString cddata If retval 0 Then RegCloseKey hKey Exit Function End If Select Case lvaluetype Case REG_SZ svalue Stringcddata Chr0 RegQueryValueEx hKey valuename 0lvaluetype ByVal svalue cddata valuesetting Leftsvalue cddata getvalue CStrvaluesetting Case REG_DWORD RegQueryValueEx hKey valuename 0lvaluetype lvalue cddata valuesetting lvalue getvalue CStrvaluesetting End SelectEnd Function实例:获取 HKEY_CURRENT_USER 下的项xiaopeng中名为redice的新键的键值代码为 getvalueHKEY_CURRENT_USER xiaopengredice