1

我正在尝试使用 Inno setup pascal 脚本函数 RegQueryStringValue 从 Windows 注册表中读取机器 GUID。我之后的注册表项是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid

procedure StoreHwID();
    var
    HwId: String;

begin
   RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Cryptography','MachineGuid', HwId);
   MsgBox('Value is "' + HwId + '"', mbInformation, MB_OK);
end;

这无法在 HwId 变量中设置值。

我错过了什么?

4

1 回答 1

4

InnoSetup 是一个 32 位进程。如果您在 64 位操作系统上运行,则需要使用HKEY_LOCAL_MACHINE_64而不是指定 64 位注册表HKEY_LOCAL_MACHINE。您可能需要打两个RegQueryStringValue电话。一个用于 64 位,一个用于 32 位。

于 2013-02-06T22:08:00.373 回答