.net程序怎么捕捉Windows登出,关机、任务管理器结束进程操作所导致本应用程序的中止事件?

jamex 2018-06-14 07:09:37
.net窗体程序,怎么捕捉Windows登出、关机、任务管理器结束进程操作所导致本应用程序的中止事件?

到底是哪个事件呢? Application_Exit事件好像没用的。
谢谢!
...全文
949 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2018-07-07
  • 打赏
  • 举报
回复
FormClosing的示例MSDN上就有
抓抓WM_QUERYENDSESSION的代码可以在
https://stackoverflow.com/questions/24100393/c-sharp-windows-program-exit-request-detect-application-exit-no-forms
看到
jamex 2018-07-06
  • 打赏
  • 举报
回复
引用 5 楼 jiangsheng 的回复:
关机和任务管理器结束可以通过在FormClosing的时候检查CloseReason 登出的话,winforms没有封装,你可以自己重载顶层窗口的WndProc抓WM_QUERYENDSESSION检查lparam是不是ENDSESSION_LOGOFF(0x80000000)。注意检查完了要调用基类的wndproc不然FormClosing不会被触发。
能给我个代码示例吗?谢谢!!!
蒋晟 2018-06-17
  • 打赏
  • 举报
回复
关机和任务管理器结束可以通过在FormClosing的时候检查CloseReason 登出的话,winforms没有封装,你可以自己重载顶层窗口的WndProc抓WM_QUERYENDSESSION检查lparam是不是ENDSESSION_LOGOFF(0x80000000)。注意检查完了要调用基类的wndproc不然FormClosing不会被触发。
巴士上的邂逅 2018-06-16
  • 打赏
  • 举报
回复
FormClosed
jamex 2018-06-16
  • 打赏
  • 举报
回复
自己顶! !!!
巴士上的邂逅 2018-06-14
  • 打赏
  • 举报
回复
FormClosed
SoulRed 2018-06-14
  • 打赏
  • 举报
回复
捕获异常,还有就是windows的事件查看器

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧