我正在尝试使用System.Diagnostics.Process.Start()
运行某个进程,但收到以下错误:
System.ComponentModel.Win32Exception: The system cannot find the file specified
我仔细检查了路径,甚至将字符串复制到cmd
窗口,在那里它运行得很好。可能是什么问题?
我正在使用Win7 64位,我试图运行的程序是用mingw64-x64编译的,我正在编译.NET 2.0
修改
在尝试做建议时
if (File.Exists(Your EXE)) {
}
我发现从命令字符串中删除标志解决了问题(我没有想到这是一个问题,因此之前没有提到过)
如何使用参数运行命令?
答案 0 :(得分:1)
Windows 7文件夹重定向可能是个问题。
基本上有时当您尝试访问“C:\ program files”时,它会将您重定向到“C:\ users \ username \ program files”
之类的内容我正在为你寻找一些资源。当我发现能比我更好地解释它的东西时,我会告诉你。
修改强>
我发现带有参数的命令在对接中是 pain 以使其正常工作。我通常只是编写一个批处理文件然后让C#运行它。
答案 1 :(得分:1)
对于参数,请使用this method。或者使用ProcessStartInfo重载。
答案 2 :(得分:0)
添加if语句,如:
if (File.Exists(Your EXE))
{
// Start the process
}
否则您无法确保使用的路径是正确的。
看看这个answer,maby it help
答案 3 :(得分:0)
使用ProcessStartInfo类并将值设置为Arguments属性:
http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.aspx