Функция RegRead возвращает неправильное значение - PullRequest
0 голосов
/ 09 января 2019

У меня есть скрипт для чтения значений реестра. Это работало до сих пор, но на этот раз это дает мне неправильный результат

Вот фактическое значение реестра вместе со значением, возвращаемым кодом ниже:

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 голосов
/ 09 января 2019

Значением в реестре является 32-битное без знака целое число, но VBScript интерпретирует его как 32-битное со знаком целое число (см., Например, здесь ).

Либо отобразить шестнадцатеричное значение:

WScript.Echo Hex(St)

или скорректируйте неверно истолкованное значение:

If St < 0 Then St = St + 2^32
WScript.Echo St
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...