Dot-Net
使用 32 位應用程序獲取 syswow64 目錄
我試圖在系統目錄中找到一個文件。問題是使用時
Environment.SystemDirectory在 x64 機器上,我仍然得到 System32 目錄,而不是 Systemwow64 目錄。
我需要在 x86 機器上獲取“System32”目錄,在 x64 上獲取“SystemWow64”目錄
有任何想法嗎?
編輯: 要找到 SysWow64,我正在使用“GetSystemWow64Directory”。(此處的更多資訊:pinvoke 注意在非 x64 機器上 - 結果為 ‘0’。希望這對某人有所幫助
使用
SHGetSpecialFolderPath功能:[DllImport("shell32.dll")] public static extern bool SHGetSpecialFolderPath(IntPtr hwndOwner, [Out]StringBuilder lpszPath, int nFolder, bool fCreate); string GetSystemDirectory() { StringBuilder path = new StringBuilder(260); SHGetSpecialFolderPath(IntPtr.Zero,path,0x0029,false); return path.ToString() }將
System32在 x86 和SysWow64x64 上返回
改為使用
Environment.GetFolderPath(Environment.SpecialFolder.SystemX86)。