Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Aplikasi 32-bit Boleh Mengakses Kekunci Pendaftaran 64-bit?
Mengakses Kekunci Pendaftaran 64-bit daripada Aplikasi 32-bit
Apabila melaksanakan pada OS 64-bit, OpenSubKey() mungkin gagal untuk mengembalikan rujukan kepada kunci pendaftaran yang boleh dilihat dalam regedit.exe. Percanggahan ini timbul kerana aplikasi 32-bit lalai untuk memeriksa cawangan HKLMSoftwareWow6432Node dan bukannya cawangan yang dikehendaki.
Untuk mengakses versi 64-bit pendaftaran, nyatakan parameter RegistryView dengan jelas:
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 }
Teknik ini memastikan bahawa fungsi OpenSubKey() menyasarkan cawangan pendaftaran yang sesuai, menyediakan akses kepada subkunci yang diminati.
Untuk versi .NET sebelum 4.0, memanfaatkan P/Invoke mungkin diperlukan untuk berinteraksi dengan kekunci 64-bit daripada aplikasi 32-bit. Panduan terperinci mengenai pendekatan ini boleh didapati di: http://www.rhyous.com/2011/01/24/how-read-the-64-bit-registry-from-a-32-bit-application-or -sebaliknya/
Atas ialah kandungan terperinci Bagaimanakah Aplikasi 32-bit Boleh Mengakses Kekunci Pendaftaran 64-bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!