为什么软件启动时不能关机????

inthefly 2003-04-22 08:44:29
我做了一个自动隐藏到系统栏的软件。可是我发现一运行软件时不能自动关机,但又发现许多其它类似软件都可以。这是为什么?请指教。
...全文
32 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
李_军 2003-04-23
  • 打赏
  • 举报
回复
我也写过一个这种程序,是这样实现的,当用户退出Windows时,Windows系统会给程序发WM_QUERYENDSESSION 的系统消息,查询能否关机,你拦截该消息
将下面这段写在private的过程中
procedure Tclient.WMQueryEndsession(var Msg: TMessage);
begin
client.Close; //退出自己的程序
Msg.Result := 1; //让windows关机
end;
Taken 2003-04-23
  • 打赏
  • 举报
回复
你自己关闭程序的时候,系统先触发OnCloseQuery,然后再触发OnClose,最后才是OnDestory。

而系统关机则不触发OnClose事件,所以建议你把原来写在OnCloseQuery中的处理过程该写到OnClose中就没问题了。
东方小黑 2003-04-22
  • 打赏
  • 举报
回复
当用户退出Windows时,Windows系统会给程序发WM_QUERYENDSESSION 的系统消息,查询能否关机,程序返回TRUE为同意关机,FALSE为不同意关机
luoshumeng 2003-04-22
  • 打赏
  • 举报
回复
可能是你的软件的FORM的CLOSEQUERY时设成了FALSE,你得对关机消息进行一下处理,不然的话会出现这样的问题!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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