


내 32비트 응용 프로그램이 64비트 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall에 액세스할 수 없는 이유는 무엇입니까?
OpenSubKey()에서 레지스트리 키를 열 수 없습니다
레지스트리 키 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall 내에서 하위 키에 대한 표시 이름을 검색하려고 할 때 코드:
RegistryKey newKey; string val; string KeyPath64Bit = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; RegistryKey mainKey = Registry.LocalMachine.OpenSubKey(KeyPath64Bit); string[] RegKeys64Bits = Registry.LocalMachine.OpenSubKey(KeyPath64Bit).GetSubKeyNames(); foreach (string s in RegKeys64Bits) { newKey = mainKey.OpenSubKey(s); val = newKey.GetValue("DisplayName", -1, RegistryValueOptions.None).ToString(); if (val != "-1") file64.WriteLine(val); }
특정 하위 키인 {DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}는 아직 파악하기 어렵습니다. 대신 GetSubKeyNames()는 표시 이름이 없는 하위 키인 {DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}.KB2151757을 반환합니다.
원인:
64비트 운영 체제, 32비트 애플리케이션은 기본적으로 HKLMSoftwareWow6432Node 레지스트리 키에 액세스합니다. 원하는 하위 키가 포함된 64비트 버전의 키를 검색하려면 RegistryView.Registry64를 지정해야 합니다.
해결책:
.NET 4.0 이상에서는 RegistryView를 사용하여 64비트 레지스트리 키를 열 수 있습니다. 속성:
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)) using (var key = hklm.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")) { // key now points to the 64-bit key }
.NET 3.5의 경우 P/Invoke를 활용하여 64비트 키에 액세스할 수 있습니다. 자세한 지침은 다음 링크의 문서를 참조하세요.
http://www.rhyous.com/2011/01/24/how-read-the-64-bit-registry-from-a- 32비트 애플리케이션 또는 그 반대/
위 내용은 내 32비트 응용 프로그램이 64비트 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall에 액세스할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











C 언어 함수에 의해 반환 된 값 유형은 무엇입니까? 반환 값을 결정하는 것은 무엇입니까?

STL (정렬, 찾기, 변환 등)의 알고리즘을 효율적으로 사용하려면 어떻게합니까?
