4.RegQueryValue——读取某Key的默认值(default value)
VB声明
| Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long hKey: Key Handle |
lpSubKey:SubKey名称路径
lpValue:返回读取的Default Value
lpcbValue:传入lpValue参数的长度,若成功读取了默认值default value,则返回default value字符串的长度(含chr(0))这个和C语言中字符串的处理相似,都是以chr(0)作为结束符。
返回值: =0,表示成功;≠0,表示失败。
示例:
| ret = RegQueryValue(hKey, Subkey, "", lenS) |
5.RegSetValue——删除某Key的默认值(default value)
VB声明
| Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long |
hKey:Key Handle
lpSubKey:Subkey名称或路径
dwType:数据类型,但在这里只能接受REG_SZ[字符串类型]
lpData:所设置的字符串
cbData:lpData字符串的长度,这一长度包括chr(0)字符。
关于dwType的可能取值
Enum ValueType
REG_NONE = 0
REG_SZ = 1
REG_EXPAND_SZ = 2
REG_BINARY = 3
REG_DWORD = 4
REG_DWORD_BIG_ENDIAN = 5
REG_MULTI_SZ = 7
End Enum
示例:
| Function SetDefaultValue(ByVal hKey As Long, ByVal Subkey As String, ByVal Value As String) As Boolean Dim ret As Long, lenS As Long, S As String ret = RegSetValue(hKey, Subkey, REG_SZ, Value, LenB(StrConv(Value, vbFromUnicode)) + 1) SetDefaultValue = (ret = 0) End Function |
6.RegQueryValueEx——读取某Key的特定名称的值(Value)
VB声明和参数解释:
| Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long |
hkey:Key Handle
lpValueName:Value Name
lpReserved:保留参数,调用时设置为0即可
lpType:返回读取的数据类型
lpData:返回读取的数据
lpcbData:传入lpData数据的长度,若成功读取数据,则返回所读取的数据的长度。
返回值: =0,表示成功;≠0,表示失败。
说明:
① 这一函数除了可读取指定名称的值之外,也可以读取default value。如果要读取default value,只需要将参数lpValueName设置为""[空字符串]即可。
②lpType 的可能取值
Enum ValueType
REG_NONE = 0
REG_SZ = 1 ——>字符串
REG_EXPAND_SZ = 2 ——>可展开式字符串
REG_BINARY = 3 ——>Binary数据
REG_DWORD = 4 ——>长整数
REG_DWORD_BIG_ENDIAN = 5 ——>BIG_ENDIAN长整数
REG_MULTI_SZ = 7 ——>多重字符串
End Enum
示例:
| Dim hKey As Long, ret As Long, lenData As Long, typeData As Long Dim Name As String '读取HKEY_LOCAL_MACHINESoftwareMicrosoft 'WindowsCurrentVersionRun的internat.exe的value. Name="internat.exe" ret=RegOpenKey(HKEY_LOCAL_MACHINE, "SoftwareMicrosoftWindowsCurrentVersionRun", hKey) if ret=0 then ret = RegQueryValueEx(hKey, Name, 0, typeData, ByVal vbNullString, lenData)'注意ByVal千万别忘了 end if |
- 推荐阅讯
- Windows注册表修改实例完全手册(下)
- 注册表的备份与恢复
- 使用 Visual Basic .NET 访问注册表
- 注册表数据结构
- 修改注册表以增强网络功能
- C++ Builder中注册表的操作
- 修改注册表的软件简介
- 设置系统注册表防止页面文件泄露信息
- 打开注册表,看优化软件在搞什么鬼
- 注册表照相机Regsnap应用指南
- 阅读排行
- 1.注册表知识:HKEY_LOCAL_MACHINE根键详解
- 2.浏览网页注册表被修改之迷及解决办法
- 3.初识注册表
- 4.收放自如 注册表禁止使用和恢复禁用
- 5.雕虫小技 教你吓走想要动你电脑的人
- 6.对注册表进行编辑的三种途径
- 7.编程解决注册表问题所需的函数详解
- 8.网上冲浪要小心 不让别人动你的注册表
- 9.Windows系列操作系统注册表的组成与分析
- 10.解除封锁注册表被禁用的几种解决办法
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
