请问如何捕捉到系统关机各重启???

HowardOK 2001-10-23 08:30:48
...全文
156 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
HowardOK 2001-10-26
  • 打赏
  • 举报
回复
uP
DeityFox 2001-10-26
  • 打赏
  • 举报
回复
procedure WMQueryEndSession( var Message: TWMQueryEndSession); message WM_QUERYENDSESSION;



procedure TMainFrm.WMQueryEndSession(var Message: TWMQueryEndSession);
begin
Message.Result:=1;
gEndSession := True;
end;

(Set this for the CloseQuery event)

procedure TMainFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := True;
if gQueryEnd and not gEndSession then
//加入处理事件
if MessageDlg('退出应用程序,确定吗?',
mtInformation, mbOKCancel, 0) = mrCancel then CanClose := False
end;


DeityFox 2001-10-26
  • 打赏
  • 举报
回复
拦截关机消息请参考taxi(游少年) 
bubble 2001-10-26
  • 打赏
  • 举报
回复
gz
HowardOK 2001-10-26
  • 打赏
  • 举报
回复
TO heartbeat_hb(随时):
我就是不懂得如何拦截关机消息!!
heartbeat_hb 2001-10-26
  • 打赏
  • 举报
回复
拦截到关机消息时处理你要做的事。
hantao 2001-10-26
  • 打赏
  • 举报
回复
gz
blackfiles 2001-10-24
  • 打赏
  • 举报
回复
gz
HowardOK 2001-10-24
  • 打赏
  • 举报
回复
我是想在系统关闭前做一些操作,就如瑞星杀毒软件一样!!
skydgg 2001-10-23
  • 打赏
  • 举报
回复
up,上面这位老兄说的很对啊,
wenguang 2001-10-23
  • 打赏
  • 举报
回复
调用系统函数:exitwindowsex(wflags,dwreserved);
其中wflags:ewx_force:强迫中止没有响应的的进程
ewx_logoff:中止进程
ewx_reboot:重新启动系统
exx_shutdown:关闭系统
dwreserved:0 是保留
你可以试一下。
taxi 2001-10-23
  • 打赏
  • 举报
回复
procedure WMQueryEndSession(var msg:TMessage); message WM_QueryEndSession;

procedure TMainForm.WMQueryEndSession(var msg:TMessage);
begin
msg.Result:=1; //为1表示允许重启,为0表示不允许重启
end;

或者截获WM_EndSession消息

procedure TMainForm.WMEndSession(var msg:TMesssage);
guipei 2001-10-23
  • 打赏
  • 举报
回复
gz this
HowardOK 2001-10-23
  • 打赏
  • 举报
回复
UP一下吧。

5,388

社区成员

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

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