' 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", "jadgekylin01@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
'----------------------------------------------------------------------------------------