Reg 키로가는 진정한 길을 어떻게 얻습니까?
-
18-09-2019 - |
문제
64 비트 머신에서 32 비트 앱을 실행중인 경우 (Windows 7을 사용하고 있음)이 코드를 작성합니다.
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\XXX")
실제로 키를 얻을 수 있습니다
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\XXX
그리고 아닙니다
HKEY_LOCAL_MACHINE\SOFTWARE\XXX
레지스트리에서 레지스트리에서 진정한 경로를 어떻게 해결합니까?
해결책
그것은 진정한 경로입니다. 32 비트 앱은 항상 해당 하위 키의 레지스트리 키에 액세스합니다. 64 비트 앱이 볼 수있는 값을 얻는 것은 .NET가 아닌 기술적으로 가능합니다. P/를 regopenkeyex () et al을 호출하여 key_wow64_64key 플래그.
업데이트 : 레지스트리 key.openbasekey ()를 사용하여 .NET 4.0에서 주소. RegistryView 인수를 사용하면 원하는보기를 지정할 수 있습니다. 이 경우 RegistryView.registry64를 사용합니다.
다른 팁
프로그램이 32 또는 64 비트 윈도우에 대해 컴파일되었는지 여부와 32 또는 64 비트 창에서 실행되는지 여부의 기능입니다. 아래의 도움이 있는지 확인하십시오.
http://social.msdn.microsoft.com/forums/en-us/netfx64bit/thread/92f962d6-7f5e-4e62-ac0a-b8b0c9f552a3
제휴하지 않습니다 StackOverflow