delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
有点难度,关机查询。 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061128044645159.html
系统在关机时,会一个一个应用程序处理。  
  我希望在程序中,可以用API或别的方式查询,当前是否进入关机过程中。虽然我的程序还没有收到关机的通知,因为还在处理别的程序。

关机时有些程序会出现结束任务,取消的提示对话框  
  我想应该是处理系统关机消息,结束本程序处理工作,相当于结束一个服务

没有明白你的意思。  
  关机是有消息的,你的程序可以在接收到关机消息时候,如果不想关机,可以处理这个消息不让关机。

嘿嘿   师傅就是师傅~~   上次不是我做的那个也是关机的么   既然处理消息获取不到的话   那就按你上次做的那样   用关机特权来强制处理   不可以么~~

关机或Logff后,Windows会传依序送出WM_QUERYENDSESSION的信息给每个Process,如果中间有一个Process不能顺利结束(例如:Word修改后未存档,而出现是否存档,但我们按取消),这时该信息执行的结果会传回False(0),这时Windows也就不再继续送WM_QUERYENDSESSION给下一个Proccess。反之,如果所有的Process都可以顺利结束(也就是每个送出的WM_QUERYENDSESSION都传回True),那才代表以以顺利结束。

关机是会收到消息。  
   
  可是我希望在收到消息之前能够提前检测到,而不是等待消息到来。  
   
  注意:我并不想阻止关机。

因为运行程序较多的时候,关机过程很慢,特别是有的程序可能在结束时会大量占用CPU时间,也许要好几秒以后我的程序才会收到消息。

如果能解决,另贴送200分。

可是我希望在收到消息之前能够提前检测到,而不是等待消息到来。  
   
  -----------------------------  
   
  觉得这个可能比较难,因为在关机消息来之前,除非电脑操作的人知道要不要关机(意外情况除外)。  
   
  我觉得可以通过变通的方法解决:接收到关机消息,先阻止,不让关机,先处理你程序,等处理完成后,由你的程序负责强制关机。  
   
  不知道还有没有其它办法,看看楼下的怎么解决。

 
     
   
   
   
  大哥...你这个....  
   
   
  违背了消息机制吧??

楼上说的还在理  
   
  还有可能实现  
   
   
  LZ的想法....  
   
   
  不可能....晤.....应该是不可能的

无解。

posted on 2008-11-27 21:13 delphi2007 阅读(182) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。