RegRead

首页  后退  前进

RegRead
down2

RegRead

读取注册表的值.

 

RegRead ( "keyname", "valuename" )

参数

keyname

注册表键项名称.

valuename

值项名称.

返回值

成功:

返回请求的注册表值. @EXTENDED 设置为值的类型: $REG_... , 这些类型定义于 "Constants.au3" 包含文件.

失败:

设置 @error 为非 0 值:

@error:

1 = 无法打开请求的键

2 = 无法打开请求的主键

3 = 无法连接远程注册表

-1 = 无法打开请求的值

-2 = 不支持的值类型

备注

键名必须以以下几种根键开头(也可用括号内的缩写):

"HKEY_LOCAL_MACHINE" ("HKLM")

或 "HKEY_USERS" ("HKU")

或 "HKEY_CURRENT_USER" ("HKCU")

或 "HKEY_CLASSES_ROOT" ("HKCR")

或 "HKEY_CURRENT_CONFIG" ("HKCC").

 

运行于 64-位 Windows 操作系统, 如果读键或值, 必须在 HK... 后面添加后缀 64, 如: HKLM64.

 

AutoIt 支持的注册表键项类型包括:

REG_BINARY, REG_SZ, REG_MULTI_SZ, REG_EXPAND_SZ, REG_QWORD, 和 REG_DWORD.

 

如果要访问 (Default) 值项, 只需传递 ""(空字符串) 到值名参数.

 

当读取 REG_BINARY 键, 结果是二进制数据类型 (以前版本这是十六进制的字符串).

 

当读取 REG_MULTI_SZ 键, 多个条目之间使用 @LF 分隔, 调用 StringSplit(..., @LF) 获取每个条目内容.

 

访问网络注册表的格式为: "\计算机名键名". 且必须拥有相应的访问权限.

 

函数示例

#include <MsgBoxConstants.au3>
Local $sVar = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion", "ProgramFilesDir")
MsgBox($MB_SYSTEMMODAL, "Program files are in:", $sVar)

----------------------------------------

 

该函数可以通过命令调用 exect

参见:

RegDelete, RegWrite, StringSplit

例子
copy

exect=$var_s=RegRead('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion','ProgramFilesDir')||_ViewValues('$var_s') ;; 获取路径到程序文件夹

 

exect=$var_s=RegRead('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters','DhcpNameServer') brwsr=$var_s!!x ;; 在浏览器中打开路由器设置

 

exect=$var_s=RegRead('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters','DhcpNameServer') brwsr=$var_s!!%%PROGRAMFILES%%\Internet~~Explorer\iexplore.exe ;; 在iexplore中打开路由器设置

 

exect=$var_s=RegRead('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters','DhcpNameServer') start=Explorer||$var_s~~-extoff ;; 使用禁用设置在iexplore中打开路由器设置

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru