Como cancelar o desligamento de um serviço do Windows C #
Eu tenho um serviço do Windows iniciado (escrito em C # .net2.0).
Quero detectar quando o computador desliga / reinicia e o cancela. Após o cancelamento, quero executar algumas ações e reiniciar o Windows.
Eu tentei, mas não está funcionando
using Microsoft.Win32;
partial class MyService: ServiceBase
{
protected override void OnStart(string[] args)
{
SystemEvents.SessionEnding += new SessionEndingEventHandler(OnSessionEnding);
}
private void OnSessionEnding(object sender, SessionEndingEventArgs e)
{
e.Cancel = true;
//Do some work...
}
}
Outro teste:
partial class MyService: ServiceBase
{
protected override void OnShutdown()
{
//Do some work...
//base.OnShutdown();
}
}