我正在开发一个c#项目。从我的应用程序我必须关闭另一个应用程序(两者都是我自己的应用程序)。我可以在第二个应用程序中获得第一个应用程序的实例吗?
答案 0 :(得分:12)
您必须获取流程数组中的所有流程,以便我们了解正在进行的流程
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 :(得分:5)
列出流程: http://www.howtogeek.com/howto/programming/get-a-list-of-running-processes-in-c/
杀死一个过程: http://alperguc.blogspot.com/2008/11/c-process-processgetprocessesbyname.html
答案 2 :(得分:2)
C#中的现代版本看起来像这样:
var processArray = Process.GetProcesses();
var process = processArray.FirstOrDefault(p => p.ProcessName == "AcroRd32");
process?.Kill();
答案 3 :(得分:1)
这可以通过使用namedpipes
来完成1-使用NamedPipe发送一些事件来关闭第二个实例。
答案 4 :(得分:0)
100%工作 我的示例过程是记事本。我想关闭/杀死
Process[] myProcList = Process.GetProcessesByName("notepad");
foreach (Process Target in myProcList)
{
Target.Kill();
}