[英]C# code not starting .exe getting error cannot find file name
我真的不知道为什么这段代码不起作用。 每次我收到错误无法启动进程,因为没有提供文件名。 即使我提供了 EXE 所在的路径并对其进行了验证。
using System;
using System.Diagnostics;
using System.Diagnostics.Contracts;
namespace ProcessExitSample
{
class testsandboxprogram
{
static void Main(string[] args)
{
Contract.Requires(args != null);
try
{
var firstProc = new Process();
Process.Start(@"PATH TO EXE I WANT TO LAUNCH");
firstProc.EnableRaisingEvents = true;
firstProc.Start();
firstProc.WaitForExit();
//so upon exit should run the second program here
Console.WriteLine("First process exited: " + firstProc.ExitCode);
var secondProc = new Process();
Process.Start(@"PATH TO PROGRAM I WANT TO LAUNCH");
secondProc.Start();
}
catch (Exception ex)
{
Console.WriteLine("Something went wrong sorry :(: " + ex.Message);
return;
}
}
}
}
String myexepath = @"C:\Program Files (x86)\Steam\steamapps\common\BattleBlock Theater\BattleBlockTheater.exe"
由于此路径包含,在双引号之间用空格将其括起来:
Process.Start("\""+myexepath+"\"");
var firstProc = new Process();
// Process.Start(@"PATH TO EXE I WANT TO LAUNCH");
firstProc.EnableRaisingEvents = true;
firstProc.Start();
您没有提供流程开始的路径。 我注释掉了不相关的代码,因为它与firstProc
变量无关。
你可能想要:
firstProc.StartInfo.FileName = @"\Path\To\Exe";
最明显的是尝试在命令行环境中运行你的PATH TO EXE I WANT TO LAUNCH
,看看你是否得到一个不言自明的错误。
如果您的路径包含空格,您将看到您正在尝试执行一些有问题的空格,然后您可以使用 Graffito 给出的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.