Process.Start(@"C:\Windows\System32\osk.exe") 找不到指定文件


在Window 64位系統中,System32文件夾存放64位的程序,SysWoW64文件夾存放32位程序,當一個32位程序訪問System32文件夾時,系統會自動重定向到SysWoW64文件夾,如:當32位程序通過CreateProcess創建C:\Windows\System32\osk.exe進程時,系統自動重定向到C:\Windows\SysWoW64\osk.exe文件,而SysWoW64文件夾下並不存在nbtstat程序,於是返回的錯誤碼就是2(即系統找不到指定的文件)。

解決該問題的方法是通過路徑C:\Windows\sysnative\****的方式來訪問系統文件,上面的情況通過C:\Windows\sysnative\osk.exe這個路徑就可以解決這個問題。

C:\Windows\sysnative這個文件夾實際上並不存在,是Windows 64位系統對32位程序訪問64位程序的一個重定向的機制。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM