Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » .NET » C#
Language: .NET
Expertise: Intermediate
Apr 11, 2016

Prevent Shutdown from a C# App

It is possible to prevent a system shutdown from within your C# apps. Basically the premise is as follows:

Override the WndProc event so that when a system shutdown event gets fired onto your app, block it with a messagebox saying: 'Hey! I'm still working over here!'

The code is as follows:

private const int WM_QUERYENDSESSION=0x0011;
private bool isShuttingDown=false;
protected override void WndProc(ref Message m)
{
if(m.Msg==WM_QUERYENDSESSION)
{
isShuttingDown=true;
}
base.WndProc(ref m);
}
private void frmLogin_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if(isShuttingDown)
{
if(MessageBox.Show(this,"The application is still running, are you sure you want to exit?",
"Confirm Closing by Windows Shutdown",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==System.Windows.Forms.DialogResult.Yes)
{
e.Cancel=false;
}
else
e.Cancel=true;
}
}

The code identifies the 'shutdown'(Query End Session ) event and isolates it so that it can be blocked

Hannes du Preez
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date