32비트 애플리케이션에서 64비트 레지스트리 키에 액세스
64비트 OS에서 실행하는 경우 OpenSubKey()가 실패할 수 있음 regedit.exe에 표시되는 레지스트리 키에 대한 참조를 반환합니다. 이러한 불일치는 32비트 애플리케이션이 기본적으로 원하는 분기 대신 HKLMSoftwareWow6432Node 분기를 검사하기 때문에 발생합니다.
64비트 버전의 레지스트리에 액세스하려면 RegistryView 매개변수를 명시적으로 지정하세요.
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)) using (var key = hklm.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")) { // The key now points to the 64-bit subkey branch }
이 기술을 사용하면 OpenSubKey() 함수가 적절한 레지스트리 분기를 대상으로 하여 다음의 하위 키에 대한 액세스를 제공할 수 있습니다.
4.0 이전 .NET 버전의 경우 32비트 애플리케이션에서 64비트 키와 상호 작용하려면 P/Invoke를 활용해야 할 수도 있습니다. 이 접근 방식에 대한 자세한 지침은 http://www.rhyous.com/2011/01/24/how-read-the-64-bit-registry-from-a-32-bit-application-or에서 확인할 수 있습니다. -반대/
위 내용은 32비트 응용 프로그램이 64비트 레지스트리 키에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!