首頁 > 後端開發 > C++ > 如何以程式設計方式確定 64 位元 Windows 中的程式檔案 (x86) 位置?

如何以程式設計方式確定 64 位元 Windows 中的程式檔案 (x86) 位置?

Linda Hamilton
發布: 2024-12-30 16:57:14
原創
330 人瀏覽過

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

Windows 64 位元中的程式檔案(x86) 位置決定

在嘗試偵測應用程式是否存在時,您正在使用`FileInfo(

System.Environment.GetFolderPath(
    System.Environment.SpecialFolder.ProgramFiles) 
+ @"\MyInstalledApp"
登入後複製

)`。雖然此方法對於 32 位元 Windows 版本來說足夠了,但它在 x64 Windows Vista 中遇到問題,它會檢索 x64 Program Files 資料夾而不是預期的 Program Files (x86) 位置。

為了解決此問題,我們需要找到一種程式方法來擷取 Program Files (x86) 的路徑,而無需訴諸硬編碼「C: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");
}
登入後複製

此函數在三種不同的情況下可靠地返回x86 Program Files 目錄:

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

以上是如何以程式設計方式確定 64 位元 Windows 中的程式檔案 (x86) 位置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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