32비트 애플리케이션이 64비트 Windows 시스템에서 실행되는 경우 HKEY_LOCAL_MACHINESoftwareWow6432Node 아래의 레지스트리 키에만 액세스할 수 있습니다. 그러나 경우에 따라 64비트 레지스트리에 대한 액세스가 필요합니다.
.NET Framework 4.x 이상 사용:
.NET Framework 4.x 이상에서는 RegistryView 열거형을 제공하여 64비트 및 32비트 레지스트리 키에 직접 액세스할 수 있습니다. 방법은 다음과 같습니다.
64비트 레지스트리 액세스:
<code class="language-csharp">using Microsoft.Win32; RegistryKey localKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64); // 对64位注册表执行操作</code>
32비트 레지스트리 액세스:
<code class="language-csharp">RegistryKey localKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32); // 对32位注册表执行操作</code>
64비트 및 32비트 레지스트리 키에 모두 액세스해야 하는 경우 다음 방법을 사용할 수 있습니다.
<code class="language-csharp">// 获取64位和32位节点的所有注册表值 var mergedValues = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64).GetValues() .Concat(RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).GetValues()); // 获取64位和32位节点的所有注册表项 var mergedKeys = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64).GetSubKeyNames() .Concat(RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).GetSubKeyNames());</code>
위 내용은 32비트 응용 프로그램이 64비트 Windows 레지스트리에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!