![](/img/trans.png)
[英]Why Process.Start() only opens shortcuts if the target is in “Program Files (x86)”
[英]Start a Windows Process from Program Files (x86) using Process.Start()
我尝试从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做它不起作用。
您必须以管理员身份打开IDE(Visual Studio),然后才能打开TestApp.exe
可能是“程序文件”中的空格。 您可能必须引用此路径本身。
Process proc = Process.Start("\"C:\\Program Files (x86)\\TestFolder\\TestApp.exe\"");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.