当前位置:  开发笔记 > 编程语言 > 正文

拦截C#中的Windows Vista关闭事件

如何解决《拦截C#中的WindowsVista关闭事件》经验,为你挑选了2个好方法。

我希望能够拦截C#for Windows Vista中的关闭事件.由于Vista具有高级安全功能,因此调用shutdown命令后运行的所有应用程序都将暂停并显示在列表中,提示用户对其执行操作.

有没有人知道如何克服这一点以及我需要在Vista中使用哪些事件.

谢谢.



1> Ken Wootton..:

您可以使用WPF的应用程序对象并订阅其SessionEnding事件.然后,您可以查看SessionEndingCancelEventArgs.ReasonSessionEnding枚举,以确定会话结束的确切原因(LogOff或Shutdown).



2> Philip Rieck..:

您可能希望看到的是 - Windows Vista中的应用程序关闭更改.基本上,对于你想要的,它都围绕着WM_QUERYENDSESSION.

请注意,这是在.net框架中公开的 - 相反,您需要使用本机函数(p/invoke)并在代码中挂钩wndproc以响应Windows消息.

例如(显示不关闭的原因),您可以在C#中看到Windows Vista - ShutdownBlockReasonCreate.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有