在VB中怎样操作注册表.[2]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 jadgekylin 的 blog

'        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
'----------------------------------------------------------------------------------------

本文关键:注册表
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top