Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mendapatkan Laluan Program Fail (x86) secara Program pada Windows 64-bit?

Bagaimanakah Saya Boleh Mendapatkan Laluan Program Fail (x86) secara Program pada Windows 64-bit?

Mary-Kate Olsen
Lepaskan: 2024-12-26 15:59:11
asal
465 orang telah melayarinya

How Can I Programmatically Retrieve the Program Files (x86) Path on 64-bit Windows?

Mendapatkan semula Laluan Program Files (x86) pada Sistem 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"
)
Salin selepas log masuk

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

Fungsi ini mengenal pasti dan mengembalikan laluan ke folder yang dikehendaki dengan mempertimbangkan bitness sistem dan kehadiran pembolehubah persekitaran tertentu. Ia mengendalikan konfigurasi berikut:

  • Windows 32-bit
  • program 32-bit yang dijalankan pada Windows 64-bit
  • program 64-bit yang dijalankan pada 64-bit Windows

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!

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