RegRead函数返回错误值

时间:2019-01-09 09:43:17

标签: vbscript

我有一个脚本来读取注册表值。到现在为止都有效,但是这次给了我错误的结果

这是实际的注册表值以及以下代码返回的值:

Registry 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

1 个答案:

答案 0 :(得分:3)

注册表中的值是32位 unsigned 整数,但是VBScript将其解释为32位 signed 整数(例如,参见here )。

显示十六进制值:

WScript.Echo Hex(St)

或调整误解的值:

If St < 0 Then St = St + 2^32
WScript.Echo St