내 응용 프로그램에서 레지스트리 키를 읽으려고합니다. 이것은 32 비트 프로세스이며 64 비트 시스템 (Win7 64 비트)에서 실행 중입니다. 이건 내 코드입니다 : 내 시스템에서32 비트 응용 프로그램에서 WOW6432 버전의 키를 반환 할 수 없습니다.
string value64 = string.Empty;
RegistryKey localKeyRegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64);
localKey = localKey.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion");
if (localKey != null)
{
value64 = localKey.GetValue("RegisteredOrganization").ToString();
MessageBox.Show(value64, "value64");
}
이 키의 값 (마이크로 소프트 \ 윈도우 NT를 \ CurrentVersion \ SOFTWARE) 비어,이 아래에있는 값 (SOFTWARE \ WOW6432Node 마이크로 소프트 \ 윈도우 NT를 \ CurrentVersion \) "Microsoft"입니다. 그러나 메시지 상자의 value64는 비어 있습니다! "Microsoft"가되어서는 안됩니까?
"모든 CPU"를 타겟팅하지 않는 이유가 있습니까? –
@RowlandShaw 이것을 x86을 대상으로해야하는 다른 응용 프로그램에서 사용할 것입니다. – user2126878