Mit WinForms geht es ganz einfach
namespace WinFormsApp2
{
public partial class Form2 : Form
{
private static int WM\_QUERYENDSESSION = 0x11;
public Form2()
{
InitializeComponent();
}
protected override void WndProc(ref Message m)
{
if (m.Msg == WM\_QUERYENDSESSION)
{
MessageBox.Show("queryendsession: this is a logoff, shutdown, or reboot");
}
base.WndProc(ref m);
}
}
}
Aber wie mache ich das bei einer WPF-Application
Danke IWAN
Bei Markdown wird Code mit 3 Backticks ``` angegeben, nicht mit ---. Bitte berücksichtigen.
Schau dir System.Windows.Application.SessionEnding an
Es wäre zwar auch mit WPF möglich, aber wenn du einfach nur ein Herunterfahren/Abmelden mitbekommen willst, dann reicht dir eventuell das hier:
Danke! App_SessionEnding funktioniert.
Klitzekleiner Schönheitsfehler: Beim Herunterfahren werden zwei Fenster gemeldet, die Wünsche offen haben.
Hast du die Eigenschaft SessionEndingCancelEventArgs.ReasonSessionEnding abgefragt?
Danke - ich hab's mal ausprobiert. Man lernt nur dazu.