我正试图使用Inno-setup pascal脚本函数RegQueryStringValue从Windows注册表中读取机器GUID。我要查找的注册表项是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid
procedure StoreHwID();
var
HwId: String;
begin
RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWAREMicrosoftCryptography','MachineGuid', HwId);
MsgBox('Value is "' + HwId + '"', mbInformation, MB_OK);
end;
这无法在HwId变量中设置值。
我错过了什么?
InnoSetup是一个32位进程。如果在64位操作系统上运行,则需要使用HKEY_LOCAL_MACHINE_64
而不是HKEY_LOCAL_MACHINE
来指定64位注册表。您可能需要进行两次RegQueryStringValue
调用。一个用于64位,一个用于32位。