value = 2 ^ 32 + cdbl("&h" & value)
else
value = cdbl("&h" & value)
end if
case reg_binary
if valuesize > 0 then
redim bvalue(valuesize - 1) as byte ' 存储 reg_binary 值的临时数组
regqueryvalueex hkey, valuename, 0, reg_binary, bvalue(0), valuesize
for i = 0 to valuesize - 1
value = value + string(2 - len(hex(bvalue(i))), "0") + hex(bvalue(i)) + " " ' 将数组转换成字符串
next i
end if
end select
' 关闭注册表关键字...
regclosekey hkey
getkeyvalue = trim(value) ' 返回函数值
end function
'-------------------------------------------------------------------------------------------------------------
'- 删除已存在的注册表关键字的值...
'- 如果指定的注册表关键字不存在, 则不做任何操作...
'- 参数说明: keyroot--根类型, keyname--子项名称, valuename--值项名称
'-------------------------------------------------------------------------------------------------------------
public function deletekey(keyroot as keyroot, keyname as string, optional valuename as string) as boolean
dim tmpkeyname as string ' 注册表关键字的临时子项名称
dim tmpvaluename as string ' 注册表关键字的临时子键名称
' 打开一个已存在的注册表关键字...
success = regopenkeyex(keyroot, keyname, 0, key_all_access, hkey)
if success <> error_success then deletekey = false: regclosekey hkey: exit function
' 删除已打开的注册表关键字...
tmpkeyname = ""
tmpvaluename = keyname
if valuename = "" then ' 判断valuename是否缺省, 如缺省作相应处理
if instrrev(keyname, "\") > 1 then
tmpvaluename = right(keyname, instrrev(keyname, "\") + 1)
tmpkeyname = left(keyname, instrrev(keyname, "\") - 1)
end if
success = regopenkeyex(keyroot, tmpkeyname, 0, key_all_access, hkey)