2010-04-21 38 views
2

我有一個在cpp中試圖讀/寫某些註冊表項的dll。此代碼在Windows XP(32位環境)中運行得非常好,但在Windows 7(64位環境)中失敗。RegQueryValueEx函數在Windows7上失敗

此應用程序訪問的註冊表項是共享註冊表項。這些密鑰不是32位註冊表緩存(wow32位)或64位註冊表緩存的一部分。

請提供您的寶貴意見。

在此先感謝。

小工具

+0

失敗如何?你會得到什麼樣的回報值? – 2010-05-06 15:37:48

回答

1

當你說「共享」你的意思,例如在HKLM?只允許升級的應用程序寫入Windows 7和Vista上的應用程序。如果這是你的消息,我建議在用戶帳戶控制或UAC上搜索。

+0

是的,好像* RegQueryValueEx *正在** **寫入註冊表。 – 2010-06-08 10:20:51

+2

是的,當問題顯示「嘗試讀取/寫入某些註冊表項」時,我很愚蠢地認爲代碼可能會寫入它們。 – 2010-06-08 12:44:34

0

也許你應該初始化RegQueryValueEx的最後一個參數「lpcbData」的值。