確定已安裝程式的位置可能具有挑戰性,特別是在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) 目錄的路徑場景:
該函數依賴 IntPtr.Size 和PROCESSOR_ARCHITEW6432 環境變數決定係統的架構。如果架構是 x64,它將擷取 Program Files (x86) 資料夾的路徑,否則傳回 32 位元 Program Files 資料夾的路徑。
透過使用此函數,開發人員現在可以可靠地存取64位元Windows系統中的Program Files (x86)目錄,確保其程式能夠正確偵測到x86相容的應用程式並與之互動。
以上是如何在 64 位元 Windows 中可靠地取得 Program Files (x86) 路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!