RegRead 函数 returns 一个错误的值
RegRead Function returns a wrong value
我有一个读取注册表值的脚本。它一直有效,但这次它给了我一个错误的结果
这是实际的注册表值以及以下代码返回的值:
这是我使用的代码:
FileExt = "HKEY_CLASSES_ROOT\CLSID\{F02C1A0D-BE21-4350-88B0-
7367FC96EF3C}\ShellFolder\Attributes"
Set Shell = WScript.CreateObject("WScript.Shell")
St = Shell.RegRead(FileExt)
wscript.echo St
注册表中的值是 32 位无符号整数,但 VBScript 将其解释为 32 位有符号整数(参见 here).
要么显示十六进制值:
WScript.Echo Hex(St)
或调整误读值:
If St < 0 Then St = St + 2^32
WScript.Echo St
我有一个读取注册表值的脚本。它一直有效,但这次它给了我一个错误的结果
这是实际的注册表值以及以下代码返回的值:
这是我使用的代码:
FileExt = "HKEY_CLASSES_ROOT\CLSID\{F02C1A0D-BE21-4350-88B0-
7367FC96EF3C}\ShellFolder\Attributes"
Set Shell = WScript.CreateObject("WScript.Shell")
St = Shell.RegRead(FileExt)
wscript.echo St
注册表中的值是 32 位无符号整数,但 VBScript 将其解释为 32 位有符号整数(参见 here).
要么显示十六进制值:
WScript.Echo Hex(St)
或调整误读值:
If St < 0 Then St = St + 2^32
WScript.Echo St