2011-09-30 119 views
1

我試圖從32位C#應用程序(在64位操作系統上)運行可執行文件,但我得到「系統找不到文件指定「可能是因爲wsqmcons.exe不存在於C:\ Windows \ SySWOW64中。該文件在System32中存在。如果可能,從代碼運行wsqmcons.exe的最佳方式是什麼?與Wow64RevertWow64FsRedirection從32位代碼在System32中運行64位可執行文件

Process p = new Process(); 
p.StartInfo.Arguments = "-f"; 
p.StartInfo.FileName = @"C:\Windows\System32\wsqmcons.exe"; 
p.Start(); 
p.WaitForExit(); 
Verify.AreEqual(0, p.ExitCode); 
+3

對於一個快速正骯髒的修復,嘗試改變的路徑:'@ 「C:\ WINDOWS \ Sysnative \ wsqmcons.exe」'。 有關更多針對Win32 API的其他詳細信息/指針,請參閱http://support.microsoft.com/kb/942589,但也可能對.NET有所幫助。 –

+1

@Michael根據http://msdn.microsoft.com/en-us/library/aa384187%28VS.85%29.aspx這是建議,所以它不是很快,n-dirty畢竟!我相信你應該發表這個評論作爲答案。 – Steven

回答

2

您需要關閉文件系統重定向上與Wow64DisableWow64FsRedirection和你的32位進程重新啓用它。

相關問題