摘要: 最近做的项目中需要拦截系统关机,因为我在FormCloseQuery中总是把CanClose设为False,不拦截关机的话直接导致系统中的关机、重启、注销都失效了!导致用户不能关机!(提示用户说要关机的话直接按电源^^)这样肯定是不行的!要完成这个功能只需要拦截到... 阅读全文
posted @ 2012-09-28 09:46 小宇飞刀 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 最近做的项目中需要拦截系统关机,因为我在FormCloseQuery中总是把CanClose设为False,不拦截关机的话直接导致系统中的关机、重启、注销都失效了!导致用户不能关机!(提示用户说要关机的话直接按电源^^)这样肯定是不行的!要完成这个功能只需要拦截到WM_QUERYENDSESSI... 阅读全文
posted @ 2012-09-28 09:45 小宇飞刀 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 最近做的项目中需要拦截系统关机,因为我在FormCloseQuery中总是把CanClose设为False,不拦截关机的话直接导致系统中的关机、重启、注销都失效了!导致用户不能关机!(提示用户说要关机的话直接按电源^^)这样肯定是不行的! 要完成这个功能只需要拦截到WM_QUERYENDSESSION消息就万事Ok!   Windows在关机的时候会想(向)所有顶层窗口广播一个消息WM_QUERYENDSESSION,其lParam参数可以区分是关机还是注销用户(注销用 户时lParam是ENDSESSION_LOGOFF)。然后Windows会等到所有的应用程序都对这个消息返回TRUE才会关机,因此,只要我们的 应用程序对这个消息的处理返回FALSE,Windows就不会关机了。   这个消息不能直接让应用程序退出,这个消息主要是询问应用程序是否已经作好了退出的准备,当所有的应用程序都对这个消息返回TRUE,系统回(会)注销或关机。如果想退出程序,请使用WM_CLOSE消息! 关键在于怎么在Delphi下拦截WM_QUERYENDSESSION消息呢?Delp 阅读全文
posted @ 2012-09-28 09:45 小宇飞刀 阅读(1444) 评论(0) 推荐(0) 编辑