我認爲這個問題已經被問到,但是我找不到適用於我的解決方案。我使用Windows 7旗艦版下的Delphi 7,64位。實際上,我開始在32位操作系統下編寫應用程序,但後來改變了PC,所以現在改爲64.在我的程序中,我使用註冊過程以及從Windows的PROGID值生成的許可證ID。不幸的是,它沒有讀取值,似乎它正在尋找一個不同的文件夾,可能被Windows 64到32位註冊表重定向。你能幫我嗎?這是我使用的代碼:從Windows 7上的Delphi 7讀取注冊表時出現問題0123位用戶參與討論
Registry := TRegistry.Create(KEY_READ OR $0100);
try
Registry.Lazywrite := false;
Registry.RootKey := HKEY_LOCAL_MACHINE;
if CheckForWinNT = true then
Begin
if not Registry.OpenKeyReadOnly('\Software\Microsoft\Windows NT\CurrentVersion') then showmessagE('cant open');
end
else
Registry.OpenKeyReadOnly('\Software\Microsoft\Windows\CurrentVersion');
result := Registry.ReadString('ProductID');
Registry.CloseKey;
finally
Registry.Free;
end; // try..finally
另外,你知道如何找到程序是否在Delphi 7中的64位或32位計算機上運行?
你有例外嗎?什麼例外?你的郵箱彈出嗎?鑰匙是否存在?你證實了嗎? – 2010-05-19 08:37:46
它返回空字符串,沒有任何錯誤。 – 2010-05-19 08:51:35
檢查http://stackoverflow.com/questions/2666807/ – 2010-05-19 08:53:21