怎样判断是关机还是重起还是注销?(没有人能搞定吗?请高手关注) (30分)

  • 主题发起人 主题发起人 superggh
  • 开始时间 开始时间
S

superggh

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样判断是关机还是重起还是注销?
能否有具体的例子?
 
没有人能搞定么?
 
好象
关机
重起
注销
都有响应的消息,可以捕捉
 
procedure WMQueryEndSession(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;
procedure WMPowerBroadcast(var Message: TMessage); message WM_POWERBROADCAST;

procedure TMainForm.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
Message.Result := 0;
SetForegroundWindow(Handle);
//if SysIni.ReadBool(seOffDutyRemind, idRemindOnShutdown, True) then
// OffDutyRemind;
if Ask('关机', '现在关机吗') then Shutdown;
end;

procedure TMainForm.WMPowerBroadcast(var Message: TMessage);
begin
Message.Result := BROADCAST_QUERY_DENY;
SetForegroundWindow(Handle);
//if SysIni.ReadBool(seOffDutyRemind, idRemindOnShutdown, True) then
// OffDutyRemind;
if Ask('休眠', '现在休眠吗') then Hibernate;
end;

----
http://www.8421.org
 
基本同意楼上的,最好test一下
 
windows,messages
把ask那行换成你自己的代码
 
哦,我想说明的是
怎么判断是关机还是重起
并不是只拦截下WM_queryendsession消息
 
关追想

赌东道的
 
我在离线数据库中找到了结果
谢谢大家
 
怎么判断关机和重启?答案呢?
 
做一个timer
判断窗口标题是否为“关闭windows"
在进一步判断
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部