首頁 > 後端開發 > C++ > 如何在 64 位元 Windows 中可靠地取得 Program Files (x86) 路徑?

如何在 64 位元 Windows 中可靠地取得 Program Files (x86) 路徑?

Linda Hamilton
發布: 2024-12-28 04:51:10
原創
303 人瀏覽過

How to Reliably Get the Program Files (x86) Path in 64-bit Windows?

使用C 在64 位元Windows 中取得程式檔案(x86) 路徑

確定已安裝程式的位置可能具有挑戰性,特別是在64 位元Windows 中,預設Program Files 資料夾可能不包含x86 相容程式。此問題促使我們尋找解決方案,以程式方式擷取 Program Files (x86) 目錄的路徑。

在提供的程式碼片段中,指定的資料夾路徑無法偵測到 Program Files (x86) 上安裝的程式64 位元 Windows Vista。這是因為程式碼回傳的是 x64 Program Files 資料夾的路徑,而所需的應用程式駐留在 x86 版本。

為了解決此問題,引入了一個自訂函數:

static string ProgramFilesx86()
{
    if( 8 == IntPtr.Size 
        || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
    {
        return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
    }

    return Environment.GetEnvironmentVariable("ProgramFiles");
}
登入後複製

此函數有效傳回下列Program Files (x86) 目錄的路徑場景:

  • 32 位元Windows
  • 在64 位元Windows上執行的 32 位元程式
  • 在 64 位元 Windows 上執行的 64 位元程式

該函數依賴 IntPtr.Size 和PROCESSOR_ARCHITEW6432 環境變數決定係統的架構。如果架構是 x64,它將擷取 Program Files (x86) 資料夾的路徑,否則傳回 32 位元 Program Files 資料夾的路徑。

透過使用此函數,開發人員現在可以可靠地存取64位元Windows系統中的Program Files (x86)目錄,確保其程式能夠正確偵測到x86相容的應用程式並與之互動。

以上是如何在 64 位元 Windows 中可靠地取得 Program Files (x86) 路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板