尝试启动进程时出错

时间:2014-09-08 12:16:09

标签: c# process

foreach (var process in Process.GetProcessesByName("SnippingTool"))
{
    process.Kill();
    Thread.Sleep(5000);
    process.Start();
}

我尝试使用Process重启.exe。为什么这不起作用?认为它应该能够找到该过程,因为它成功杀死了它。

出现此错误:

  

System.InvalidOperationException:无法启动进程,因为文件   名称尚未提供

编辑:为了澄清,process.Kill有效,它是获得例外的Start()

2 个答案:

答案 0 :(得分:4)

问题是你没有获得该过程的文件位置,并且它不知道如何启动它。执行以下操作将起作用,但是如果您运行的是64位计算机,则应确保以64位编译程序(项目属性 - >构建 - >平台目标:x64)enter image description here

foreach (Process process in Process.GetProcessByName("SnippingTool"))
{
    string fullPath = process.MainModule.FileName;
    process.Kill();
    Thread.Sleep(5000);
    Process.Start(fullPath);
}

我已经对此进行了测试,它对我有用

答案 1 :(得分:1)

尝试从Unity内部启动Visual Studio时出现此错误。我需要重新启动计算机才能首先完成Visual Studio的安装。