Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Close another Process from c# [duplicate]

I need to close another Process (Windows Media Encoder) from a C# Application ,and so far i can do it with:

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

But if the Media Encoder Application is Streaming or Recording it shows a Dialog on exit:

"Are you sure you want to stop encoding?"

So is there a way to answer or click Yes button from Code?

[Edit] Many users are answering with Process.kill() ,but that is not an Option ,because Process.Kill(); will Terminate Windows Media Encoder immediately ,and Windows Media Encoder will not Finalize the File which is Writing ,which forces me to Reindex the Video File .So no i cannot use Process.Kill();

like image 556
Rosmarine Popcorn Avatar asked May 18 '11 15:05

Rosmarine Popcorn


1 Answers

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
        }
    }
}
like image 166
Alberich Drago Avatar answered Sep 20 '22 11:09

Alberich Drago