Apabila aplikasi 32-bit berjalan pada sistem Windows 64-bit, ia hanya boleh mengakses kekunci pendaftaran di bawah HKEY_LOCAL_MACHINESoftwareWow6432Node. Walau bagaimanapun, dalam beberapa kes, akses kepada pendaftaran 64-bit diperlukan.
Menggunakan .NET Framework 4.x dan ke atas:
.NET Framework 4.x dan lebih baru menyediakan penghitungan RegistryView, membenarkan akses terus kepada kunci pendaftaran 64-bit dan 32-bit. Begini cara melakukannya:
Akses pendaftaran 64-bit:
<code class="language-csharp">using Microsoft.Win32; RegistryKey localKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64); // 对64位注册表执行操作</code>
Akses pendaftaran 32-bit:
<code class="language-csharp">RegistryKey localKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32); // 对32位注册表执行操作</code>
Untuk situasi di mana anda perlu mengakses kekunci pendaftaran 64-bit dan 32-bit, anda boleh menggunakan kaedah berikut:
<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>
Atas ialah kandungan terperinci Bagaimanakah Aplikasi 32-bit Boleh Mengakses Windows Registry 64-bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!