2013-02-06 235 views
1

我想從Windows註冊表中使用Inno setup pascal腳本函數RegQueryStringValue讀取機器GUID。我找的註冊表項HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\加密\ MachineGuid如何使用Inno Setup pascal腳本從註冊表讀取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變量的值。

我錯過了什麼?

回答

3

InnoSetup是一個32位的進程。如果您在64位操作系統上運行,則需要使用HKEY_LOCAL_MACHINE_64而不是HKEY_LOCAL_MACHINE來指定64位註冊表。您可能需要撥打兩個RegQueryStringValue。一個用於64位,另一個用於32位。

+0

無需兩次通話;實際上,香港**值只是整數。您可以使用IsWin64()檢查它是否爲64位,將相關值存儲在整數變量中,然後將其用於調用的第一個參數。 – Nyerguds

相關問題