Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当进程';窗口关闭,而不是进程退出时_C#_.net_Windows_Process - Fatal编程技术网

C# 当进程';窗口关闭,而不是进程退出时

C# 当进程';窗口关闭,而不是进程退出时,c#,.net,windows,process,C#,.net,Windows,Process,我以以下方式开始流程: var process = Process.Start("somestuff.bat"); 但是,当某些事情完成时,它不会终止进程,只会关闭窗口,因此很自然: process.Exited += ... 永远不会开火 那么,是否有一种方法可以以某种方式获取窗口句柄,或者是过程中方便的方法,并在该窗口关闭时触发一个方法?您需要在该过程中设置一些内容,使其触发事件 var process = Process.Start("somestuff.bat"); process.

我以以下方式开始流程:

var process = Process.Start("somestuff.bat");
但是,当某些事情完成时,它不会终止进程,只会关闭窗口,因此很自然:

process.Exited += ...
永远不会开火


那么,是否有一种方法可以以某种方式获取窗口句柄,或者是
过程中方便的方法,并在该窗口关闭时触发一个方法?

您需要在该过程中设置一些内容,使其触发事件

var process = Process.Start("somestuff.bat");
process.EnableRaisingEvents = true;
process.Exited += .. // note here, this runs in the process thread not the UI

退出然后触发

您需要在进程上设置一些内容,使其触发事件

var process = Process.Start("somestuff.bat");
process.EnableRaisingEvents = true;
process.Exited += .. // note here, this runs in the process thread not the UI
Use this make closing event..
离开,然后开火

Use this make closing event..
XML Closing=“窗口\关闭”

XML Closing=“窗口\关闭”


试试这个也许能解决你的问题

foreach (var process in Process.GetProcessesByName(".exe"))
{
    process.Kill();
}

试试这个也许能解决你的问题

foreach (var process in Process.GetProcessesByName(".exe"))
{
    process.Kill();
}

你想在窗口关闭时终止进程吗?不,窗口关闭,但进程仍在运行,我想在窗口关闭时终止进程(我不知道什么时候会发生),所以在这里你可以使用WindowClosed或WindowClosing事件。。你知道这些事件吗?你想在窗口关闭时终止进程吗?不,窗口关闭,但进程仍在运行,我想在窗口关闭时终止进程(我不知道什么时候会发生),所以在这里你可以使用WindowClosed或WindowClosing event。。你知道这些活动吗?