Dalam percubaan untuk mengesan kehadiran aplikasi, anda menggunakan `FileInfo(
System.Environment.GetFolderPath( System.Environment.SpecialFolder.ProgramFiles) + @"\MyInstalledApp"
)`. Walaupun pendekatan ini mencukupi untuk versi Windows 32-bit, ia menghadapi isu dalam x64 Windows Vista, di mana ia mendapatkan semula folder Program Files x64 dan bukannya lokasi Program Files (x86) yang dimaksudkan.
Untuk menyelesaikan masalah ini, kami perlu mencari kaedah pengaturcaraan untuk mendapatkan semula laluan ke Program Files (x86) tanpa menggunakan hardcoding "C: Program Files (x86)".
Fungsi berikut dengan tepat memenuhi keperluan ini:
static string ProgramFilesx86() { if( 8 == IntPtr.Size || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")))) { return Environment.GetEnvironmentVariable("ProgramFiles(x86)"); } return Environment.GetEnvironmentVariable("ProgramFiles"); }
Fungsi ini mengembalikan direktori Fail Program x86 dalam tiga senario berbeza dengan pasti:
Atas ialah kandungan terperinci Bagaimana untuk Menentukan Lokasi Program Fail (x86) secara Program dalam Windows 64-bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!