我启动了一个 Windows 服务(用 C# .net2.0 编写)。
我想检测计算机何时关闭/重新启动并取消它。取消后我想做一些操作并重新启动窗口。
我试过了,但它不起作用
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...
}
}
另一个测试:
partial class MyService: ServiceBase
{
protected override void OnShutdown()
{
//Do some work...
//base.OnShutdown();
}
}