在以下地址贴中有乱码,
http://www.csdn.net/develop/article/8/8562.shtm
现补充如下:
Public Function SysRegControl(Optional ByVal RootKey As RegRootKey = regHKEY_LOCAL_MACHINE, Optional ByVal SubKey As String = "", Optional ByVal Key As String = "QiLin", Optional ByRef KeyValue As Variant = "", Optional regKeyType As regKeyTypes = regTypeString, Optional ByVal id As RegControlID = regSetKeyValue) As Boolean ''''*************************************************************************************** ''''setregkey 函数 ''''功能: '''' 对注册表中指定键键进行操作 ''''参数: '''' RootKey 根键 ''''RootKey 说明 ''''{ regHKEY_CLASSES_ROOT = &H80000000 '''' regHKEY_CURRENT_USER = &H80000001 '''' regHKEY_LOCAL_MACHINE = &H80000002 '''' regHKEY_USERS = &H80000003 '''' regHKEY_PERFORMANCE_DATA = &H80000004 '''' regHKEY_CURRENT_CONFIG = &H80000005 '''' regHKEY_DYN_DATA = &H80000006 ''''} '''' SubKey 子键路径 '''' Key 设置的键名 '''' KeyValue 设置的键值 '''' regKeyType 指定键值的类型 ''''regKeyType说明: ''''{ '''' regTypeBinary =&H00000001 ''''Binary '''' regTypeDword =&H00000002 ''''DWORD '''' regTypeString =&H00000003 ''''String ''''} '''' ID 函数操作功能号 ''''功能ID说明: ''''{ regSetKeyValue =111 ''''设置键值 '''' regGetKeyValue =112 ''''取键值 '''' regCreatKey =113 ''''创建子键 '''' regDeleteKeys =114 ''''删除末级子键 '''' regDelAllKey =115 ''''删除非末级子键 '''' regDeleteValues =116 ''''删除键值 '''' regOther =120 ''''保留操作ID ''''} ''''返回值: '''' TRUE 操作成功 '''' FALSE 操作失败 '''' (C)2001.3.2 ''''***************************************************************************************** Dim i As Long On Error GoTo RegOptionError ''''if RootKey then
Select Case id ''''========================================================================================= Case regSetKeyValue ''''=111 ''''设置键值 ''''========================================================================================= rtn = RegOpenKeyEx(RootKey, SubKey, 0, KEY_WRITE, hKey) If rtn = ERROR_SUCCESS Then ''''{
Select Case regKeyType ''''---------------------------------------------------------------------------------------- Case regTypeBinary ''''=&H00000001 ''''Binary
''''此模式下参数KeyValue须以字符串形式传入,调用实例: ''''SysRegControl regHKEY_LOCAL_MACHINE, "jadgekylin\jklpos", "pos", "jadgekylin@yesky.com", regTypeBinary, regSetKeyValue ''''---------------------------------------------------------------------------------------- If VarType(KeyValue) <> vbString Then ''''参数不合法 rtn = ERROR_SUCCESS + 1 ''''exit select Else lDataSize = Len(KeyValue) ReDim ByteArray(lDataSize) For i = 1 To lDataSize ByteArray(i) = Asc(Mid$(KeyValue, i, 1)) Next rtn = RegSetValueExB(hKey, Key, 0, REG_BINARY, ByteArray(1), lDataSize) ''''write the value End If ''''---------------------------------------------------------------------------------------- Case regTypeDword ''''=&H00000002 ''''DWORD
''''调用实例: ''''SysRegControl regHKEY_LOCAL_MACHINE, "jadgekylin\jklpos", "pos", 1, regTypeDword, regSetKeyValue ''''----------------------------------------------------------------------------------------
If VarType(KeyValue) <> vbLong And VarType(KeyValue) <> vbInteger Then rtn = ERROR_SUCCESS + 1 ''''exit select Else rtn = RegSetValueExA(hKey, Key, 0, REG_DWORD, KeyValue, 4) ''''write the value End If ''''---------------------------------------------------------------------------------------- Case regTypeString ''''=&H00000003 ''''String
''''调用实例: ''''SysRegControl regHKEY_LOCAL_MACHINE, "jadgekylin\jklpos", "pos", "1", regTypeString, regSetKeyValue ''''----------------------------------------------------------------------------------------
If VarType(KeyValue) <> vbString Then ''''参数不合法 rtn = ERROR_SUCCESS + 1 ''''exit select Else rtn = RegSetValueEx(hKey, Key, 0, REG_SZ, ByVal KeyValue, Len(KeyValue)) ''''write the value End If ''''---------------------------------------------------------------------------------------- End Select ''''} If Not rtn = ERROR_SUCCESS Then ''''if the was an error writting the value rtn = RegCloseKey(hKey) SysRegControl = False ''''调用失败 Exit Function End If rtn = RegCloseKey(hKey) ''''close the key
&nb [1] [2] [3] 下一页 没有相关教程
|