使用Process.Start()从程序文件(x86)启动Windows进程

时间:2014-07-17 10:33:38

标签: c# process filepath

我尝试使用我的C:\ Program Files(x86)中的Process.Start()启动一个进程,如下所示:

Process proc = Process.Start("C:\\Program Files (x86)\\TestFolder\\TestApp.exe");    

这会导致Win32Exception:The system cannot find the file specified.

如果我尝试启动任何不在x86文件夹中的其他进程,如:

Process proc = Process.Start("C:\\Windows\\System32\\calc.exe"); 

它工作正常。

所以我假设异常是由“程序文件”的(x86)或空格引起的。

如何使用文件路径解决此问题?


通过以下方式解决问题:

Process proc = Process.Start(@"C:\Program Files (x86)\TestFolder\TestApp.exe");

所以我在路径前添加了@并删除了路径中的双反斜杠。以这种方式它的工作原理。如果我用双BS做它不起作用。

2 个答案:

答案 0 :(得分:1)

您必须以管理员身份打开IDE(Visual Studio),然后才能打开TestApp.exe

答案 1 :(得分:0)

“程序文件”中的空格可能是原因。你可能不得不引用这条路径。

Process proc = Process.Start("\"C:\\Program Files (x86)\\TestFolder\\TestApp.exe\"");