Menentukan lokasi program yang dipasang boleh menjadi mencabar, terutamanya dalam Windows 64-bit di mana folder Program Files lalai mungkin tidak mengandungi program yang serasi dengan x86. Isu ini menggesa kami mencari penyelesaian untuk mendapatkan semula laluan ke direktori Program Files (x86) secara program.
Dalam coretan kod yang disediakan, laluan folder yang ditentukan gagal mengesan program yang dipasang dalam Program Files (x86) pada Windows Vista 64-bit. Ini kerana kod tersebut mengembalikan laluan ke folder Fail Program x64, manakala aplikasi yang dikehendaki berada dalam versi x86.
Untuk menangani isu ini, fungsi tersuai diperkenalkan:
static string ProgramFilesx86() { if( 8 == IntPtr.Size || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")))) { return Environment.GetEnvironmentVariable("ProgramFiles(x86)"); } return Environment.GetEnvironmentVariable("ProgramFiles"); }
Fungsi ini dengan berkesan mengembalikan laluan ke direktori Program Files (x86) dalam perkara berikut senario:
Fungsi ini bergantung pada IntPtr.Size dan PROCESSOR_ARCHITEW6432 pembolehubah persekitaran untuk menentukan seni bina sistem. Jika seni bina ialah x64, ia mendapatkan semula laluan ke folder Program Files (x86), jika tidak ia mengembalikan laluan ke folder Program Files 32-bit.
Dengan menggunakan fungsi ini, pembangun kini boleh mengakses dengan pasti Direktori Program Files (x86) dalam sistem Windows 64-bit, memastikan program mereka boleh mengesan dan berinteraksi dengan aplikasi yang serasi dengan x86 dengan betul.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Laluan Fail Program (x86) dengan Amanah dalam Windows 64-bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!