【问题标题】:I want to close running exe on button click in C#..Got Error我想在 C# 中单击按钮时关闭正在运行的 exe ..出现错误
【发布时间】:2016-07-18 10:22:59
【问题描述】:

我想在 C# 中单击按钮时关闭正在运行的 exe。但是我得到了

进程已退出,因此请求的信息不可用。

我的代码:

Process nynprocess = new Process();
private void button2_Click(object sender, EventArgs e)
{
    string str = @"C:\Program Files\ShareX\ShareX";
    nynprocess.StartInfo.FileName = str;
    nynprocess.Start();
}

private void button3_Click(object sender, EventArgs e)
{
    nynprocess.CloseMainWindow();
    nynprocess.Kill();
    nynprocess.WaitForExit();
}

【问题讨论】:

  • 所以你已经回答了你自己的问题。如果进程已经完成,按钮 3 不能杀死它
  • 您只能使用一次 Process 对象。进程退出后,它不再可用。添加 nynprocess = null;到 button3_Click() 方法是一件明智的事情,可以帮助您修复 button2_Click() 并创建一个新的 Process 对象。或者帮助用户避免多次点击该按钮。
  • 单击button3时,您确定进程仍在运行吗?您可以将button3_Click 中的行包装在if (!nynprocess.HasExited) { ... } 中,因此它们仅适用于单击按钮时进程仍在运行的情况..

标签: c# .net


【解决方案1】:

试试这个

        // Close process by sending a close message to its main window.
        nynprocess.CloseMainWindow();
        // Free resources associated with process.
        nynprocess.Close();

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 2013-02-10
    • 2023-01-14
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 2013-04-02
    相关资源
    最近更新 更多