문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top