退出我的应用的所有实例

Jos*_*Zyl 8 c# winforms

我有以下功能:

private void TakeOverAllScreens()
    {
        int i = 0;
        foreach (Screen s in Screen.AllScreens)
        {

            if (s != Screen.PrimaryScreen)
            {
                i++;
               Process.Start(Application.ExecutablePath, "Screen|" + s.Bounds.X + "|" + s.Bounds.Y + "|" + i);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它为PC上的每个屏幕创建了一个单独的应用程序实例.

如何创建一个关闭所有这些函数的退出函数?该函数需要在应用程序的任何实例上工作,而不仅仅是我的"主"实例.

Kam*_*eri 9

您可以使用相同的名称终止所有进程:

var current = Process.GetCurrentProcess();
Process.GetProcessesByName(current.ProcessName)
    .Where(t => t.Id != current.Id)
    .ToList()
    .ForEach(t => t.Kill());

current.Kill();
Run Code Online (Sandbox Code Playgroud)