如何从c#关闭另一个进程

我需要从C#应用程序中关闭另一个进程(Windows Media Encoder),到目前为止我可以使用:

Process.GetProcessesByName("wmenc.exe")[0].CloseMainWindow(); 

但是如果Media Encoder Application是Streaming或Recording,它会在退出时显示一个Dialog:

“你确定要停止编码吗?”

那么有没有办法回答或点击代码中的是按钮?

[编辑]许多用户正在回答Process.kill() ,但这不是一个选项,因为Process.Kill(); 将立即终止Windows Media EncoderWindows Media Encoder将不会完成正在写入的文件,这迫使我重新索引video文件。所以我不能使用Process.Kill();

这是一篇SOpost,询问并回答如何从.NET 控制其他应用程序。 接受的答案仅使用四行代码来获取窗口并将按键发送到该窗口中的特定按钮。 我认为这可能是你最好的选择,干净地关闭应用程序。

 Process[] runningProcesses = Process.GetProcesses(); foreach (Process process in runningProcesses) { // now check the modules of the process foreach (ProcessModule module in process.Modules) { if (module.FileName.Equals("MyProcess.exe")) { process.Kill(); } else { enter code here if process not found } } }