Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mendapatkan Laluan Program Fail (x86) secara Program pada Windows 64-bit?
Dalam usaha untuk mengesan aplikasi MS-DOS lama pada mesin pengguna, perkara biasa pendekatan melibatkan menyemak folder Program Files menggunakan kod seperti ini:
FileInfo( System.Environment.GetFolderPath( System.Environment.SpecialFolder.ProgramFiles) + @"\MyInstalledApp" )
Sementara ini berfungsi pada Windows XP dan Vista 32-bit, ia gagal pada Vista 64-bit kerana kod tersebut mengembalikan folder Program Files 64-bit dan bukannya folder Program Files x86 di mana aplikasi biasanya dipasang.
Mengambil semula Fail Program x86 Path Secara Program
Untuk menangani isu ini, penyelesaian terprogram diperlukan untuk mengembalikan laluan ke Program Failkan folder x86 tanpa mengira konfigurasi sistem. Fungsi berikut memenuhi keperluan ini:
static string ProgramFilesx86() { if( 8 == IntPtr.Size || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTUREW6432")))) { return Environment.GetEnvironmentVariable("ProgramFiles(x86)"); } return Environment.GetEnvironmentVariable("ProgramFiles"); }
Fungsi ini mengenal pasti dan mengembalikan laluan ke folder yang dikehendaki dengan mempertimbangkan bitness sistem dan kehadiran pembolehubah persekitaran tertentu. Ia mengendalikan konfigurasi berikut:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Laluan Program Fail (x86) secara Program pada Windows 64-bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!