C#.netwinforms应用Sessionending事件当我关闭系统时,SystemEvents.SessionEnding事件没有被触发...你试过这个事件作为微软的例子来实现吗?像那个重要说明:控制台应用程序不会引发SessionEnding事件。此事件仅在消息泵运行时引发。在Windows服务中,除非使用隐藏窗体或手动启动消息泵,否则不会引发此事件。有关演示如何使用Windows服务中的隐藏窗体处理系统事件的代码示例,请参阅SystemEvents类。->.NETWindows服务中的消息泵privatestaticintWM_QUERYENDSESSION=0x11;privatestaticboolsystemShutdown=false;protectedoverridevoidWndProc(refSystem.Windows.Forms.Messagem){if(m.Msg==WM_QUERYENDSESSION){MessageBox.Show("queryendsession:这是注销、关机或重启");系统关闭=真;}//如果这是WM_QUERYENDSESSION,则应该在基WndProc.base.WndProc(refm)中引发//关闭事件;}//WndProcprivatevoidForm1_Closing(System.Objectsender,System.ComponentModel.CancelEventArgse){if(systemShutdown)//重置变量,因为用户可能会取消//关机。{系统关闭=假;if(DialogResult.Yes==MessageBox.Show("Myapplication","Doyouwanttosaveyourworkbeforeloggingoff?",MessageBoxButtons.YesNo)){e.Cancel=true;}else{e.Cancel=false;}}}更多信息?请参阅此处:SystemEvents.SessionEnding事件您可以试试这个-首先打开gpedit.msc,转到配置->管理模板->系统–>关闭选项现在选择关闭块或取消自动终止已关闭的应用程序。并阅读MicrosoftSystemEvents.SessionEnding事件文档以进一步开发。以上就是C#学习教程的全部内容:C#.netwinforms应用session结束事件分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
