0

我正在尝试使用 运行进程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)) {
}

我发现从命令字符串中删除标志解决了这个问题(我不认为这是一个问题,所以之前没有提到)

如何运行带参数的命令?

4

4 回答 4

1

对于参数,请使用此方法。或使用 ProcessStartInfo 重载。

于 2012-11-13T12:50:39.463 回答
1

Windows 7 文件夹重定向可能是问题所在。

基本上有时当您尝试访问“C:\program files”时,它会将您重定向到“C:\users\username\program files”之类的内容

我正在为您查找一些资源。当我找到比我能解释得更好的东西时,我会告诉你的。

编辑:

我发现带有参数的命令很难正常工作。我通常只是求助于编写一个批处理文件,然后让 C# 运行它。

于 2012-11-13T12:43:07.373 回答
0

使用 ProcessStartInfo 类并将值设置为 Arguments 属性:

http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.aspx

于 2012-11-13T13:04:10.870 回答
0

添加一个 if 语句,如:

if (File.Exists(Your EXE))
{
    // Start the process
} 

否则,您无法确保使用的路径是正确的。

也看看这个答案,也许它会有所帮助

于 2012-11-13T12:41:02.620 回答