检查进程是否关闭

时间:2020-06-16 18:23:00

标签: c# .net winforms

因此,在我的Windows Forms Project(.NET Framework 4.7.2)上,我试图检查某个进程是否关闭,然后将文本更改回Inject!
我尝试过的事情

private void button9_Click(object sender, EventArgs e)
        {
            easyexploits.LaunchExploit();
            Process[] x = Process.GetProcessesByName("RobloxPlayerBeta");
            if(x.Length == 1)
            {
                label2.Text = "Injected";
            } else
            {
                label2.Text = "Inject!";
            }
        }

由于仅在单击button9时才更新,因此此代码不起作用。
有谁知道我能做什么?

1 个答案:

答案 0 :(得分:2)

如果您想知道该进程何时退出,可以使用如下代码:

private void button1_Click(object sender, EventArgs e)
{
    Process x = Process.GetProcessesByName("RobloxPlayerBeta").FirstOrDefault();
    if (x != null)
    {
        x.EnableRaisingEvents = true;
        x.Exited += X_Exited;
    }
}

private void X_Exited(object sender, EventArgs e)
{
    Console.WriteLine("Roblox was closed.");
}

请注意,您必须将EnableRaisingEvents设置为true才能起作用。