Ich verwende den folgenden Code taskkill
auf meinem Prozess zu handhaben:Führt Windows/f Prozesse beim Herunterfahren aus?
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
private class TestMessageFilter : IMessageFilter
{
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == /*WM_CLOSE*/ 0x10)
{
MessageBox.Show("I'm shutting down");
var mailService = new MailService();
mailService.SendEmail("Test from application exit");
//Application.Exit();
return true;
}
return false;
}
}
und dann
static void Main(string[] args)
{
Application.AddMessageFilter(new TestMessageFilter());
Application.Run();
}
Die MessageBox
erscheint und die E-Mail gesendet wird, wenn ich taskkill /im MyProcess.exe
tun. Dies geschieht jedoch nicht beim Herunterfahren von Windows.
Führt Windows beim Herunterfahren zwangsweise Prozesse aus oder fehlt mir etwas?
Gut. Keine Windows Forms .. –