為了偵測使用者電腦上的舊MS-DOS 應用程式,方法涉及使用下列程式碼檢查Program Files 資料夾:
FileInfo( System.Environment.GetFolderPath( System.Environment.SpecialFolder.ProgramFiles) + @"\MyInstalledApp" )
雖然這適用於Windows XP 和32 位元Vista 上,它在64 位元 Vista 上失敗,因為程式碼傳回 64 位元 Program Files 資料夾,而不是通常安裝應用程式的 Program Files x86 資料夾。
檢索Program Files以程式設定x86 路徑
要解決此問題,需要一個程式解決方案來傳回Program Files x86 資料夾的路徑,無論系統配置。以下函數滿足此要求:
static string ProgramFilesx86() { if( 8 == IntPtr.Size || (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTUREW6432")))) { return Environment.GetEnvironmentVariable("ProgramFiles(x86)"); } return Environment.GetEnvironmentVariable("ProgramFiles"); }
此函數透過考慮系統的位數和特定環境變數的存在來識別並傳回所需資料夾的路徑。它處理以下配置:
以上是如何以程式設計方式擷取 64 位元 Windows 上的程式檔案 (x86) 路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!