Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menentukan Lokasi Program Fail (x86) secara Program dalam Windows 64-bit?

Bagaimana untuk Menentukan Lokasi Program Fail (x86) secara Program dalam Windows 64-bit?

Linda Hamilton
Lepaskan: 2024-12-30 16:57:14
asal
326 orang telah melayarinya

How to Programmatically Determine the Program Files (x86) Location in 64-bit Windows?

Penentuan Lokasi Fail Program (x86) dalam Windows 64-Bit

Dalam percubaan untuk mengesan kehadiran aplikasi, anda menggunakan `FileInfo(

System.Environment.GetFolderPath(
    System.Environment.SpecialFolder.ProgramFiles) 
+ @"\MyInstalledApp"
Salin selepas log masuk

)`. 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)".

Penyelesaian

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");
}
Salin selepas log masuk

Fungsi ini mengembalikan direktori Fail Program x86 dalam tiga senario berbeza dengan pasti:

  • 32-bit Windows
  • Atur cara 32-bit berjalan pada Windows 64-bit
  • Atur cara 64-bit berjalan pada Windows 64-bit

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan