在C# .NET中关闭一个应用程序的另一个应用程序

9

我正在开发一个C#项目。从我的应用程序中,我需要关闭另一个应用程序(两个应用程序都是我自己开发的)。我能否在第二个应用程序中获取第一个应用程序的实例?

4个回答

17

您需要获取进程数组中的所有进程,以便我们可以知道正在运行哪些进程。

Process []GetPArry = Process.GetProcesses();
foreach(Process testProcess in GetPArry)
{
    string ProcessName = testProcess .ProcessName;

    ProcessName  = ProcessName .ToLower();
    if (ProcessName.CompareTo("winword") == 0)
        testProcess.Kill();
} 

这里的winword是另一个进程,或者可以说是我们要结束运行的应用程序。


1
当找到正确的进程时,退出循环可能是一个好主意。 - jgauffin
我同意jgauffin的观点,当你得到进程时退出循环。 - naval
除非您想关闭应用程序的所有运行实例,否则请勿执行此操作。 - userSteve

4
一种使用C#编写的现代版本如下所示:
var processArray = Process.GetProcesses();
var process = processArray.FirstOrDefault(p => p.ProcessName == "AcroRd32");
process?.Kill();

2
这可以通过使用命名管道来实现。
1- 使用命名管道发送某个事件来关闭第二个实例。

1

100%工作的例子是记事本。我想关闭/结束它。

        Process[] myProcList = Process.GetProcessesByName("notepad");
        foreach (Process Target in myProcList)
        {
            Target.Kill();
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接