我想在運行Windows 7 x64的x86和x64應用程序共享的註冊表中編寫應用程序設置。將設置寫入註冊表,由x64和x86應用程序共享(繞過註冊表重定向)
最佳做法是將它們保存在HKEY_LOCAL_MACHINE \ Software \ Company \ Product中,但是在WOW64中時將被重定向。
我可以在HKEY_LOCAL_MACHINE \ System中寫入它們嗎?或系統是保留給其他thigns?
我想在運行Windows 7 x64的x86和x64應用程序共享的註冊表中編寫應用程序設置。將設置寫入註冊表,由x64和x86應用程序共享(繞過註冊表重定向)
最佳做法是將它們保存在HKEY_LOCAL_MACHINE \ Software \ Company \ Product中,但是在WOW64中時將被重定向。
我可以在HKEY_LOCAL_MACHINE \ System中寫入它們嗎?或系統是保留給其他thigns?
在x64模式下,仍然可以訪問WOW64模式的值。 WOW64 HKEY_LOCAL_MACHINE \ Software \ Company \ Product將位於HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Company \ Product下。
編輯:
反射也可用於某些鍵禁用,因爲它是在這裏描述:http://msdn.microsoft.com/en-us/library/ms724072(VS.85).aspx
可以使用的手冊中描述的SetRegView選項: http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.7.6
Function .onInit SetRegView 64 ReadRegStr $ INSTDIR HKLM Software \ NSIS「」 SetRegView 32 Function結束
但我不想在我的程序中對Wow6432進行硬編碼(我讀過這不推薦)。最好禁用我的密鑰重定向。我可以這樣做嗎? – Nestor 2009-12-10 17:37:16
我認爲可以禁用的是反射,但不是重定向......我是對的嗎? – Nestor 2009-12-10 18:46:10
你說得對。 :) – treaschf 2009-12-11 06:24:11