Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mendapatkan Laluan 'Fail Program (x86)' pada Windows 64-bit?

Bagaimana untuk Mendapatkan Laluan 'Fail Program (x86)' pada Windows 64-bit?

Patricia Arquette
Lepaskan: 2024-12-29 20:16:15
asal
884 orang telah melayarinya

How to Reliably Get the

Mendapatkan "Program Files (x86)" Path dalam Windows 64-bit Systems

Apabila cuba menentukan kehadiran perisian pada mesin pengguna, menggunakan laluan System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)MyInstalledApp boleh menyebabkan ketidaktepatan pada Windows Vista 64-bit. Ini kerana kod tersebut mengembalikan folder "Fail Program" x64, manakala aplikasi yang dipersoalkan berada dalam "Fail Program (x86)".

Untuk mengurangkan isu ini, anda boleh menggunakan fungsi berikut, yang akan secara konsisten kembalikan direktori "Fail Program" x86 merentas semua konfigurasi:

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

Dalam ini fungsi:

  • Keadaan IntPtr.Size == 8 mengesahkan sama ada sistem adalah 64-bit.
  • String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITE")W64 menyemak sama ada mesin sedang menjalankan proses 32-bit sistem pengendalian 64-bit, tanpa mengira seni bina perkakasan asas.
  • Jika salah satu daripada syarat ini benar, fungsi mengembalikan laluan folder "Program Files" x86 yang diperoleh daripada pembolehubah persekitaran ProgramFiles(x86). Jika tidak, ia mengembalikan laluan "Fail Program" lalai.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Laluan 'Fail Program (x86)' pada 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