就是一般的记事本,只要它的内容改变了
在关机的时候就会弹出是否保存的对话框?
注意,是关机的时候,不是说关闭程序的时候
我想实现在关机的时候,我的程序也弹个对话框出来
这样我可以在关机最后一段时间内执行一点动作,然后关闭
请问如何实现?
在关机的时候就会弹出是否保存的对话框?
注意,是关机的时候,不是说关闭程序的时候
我想实现在关机的时候,我的程序也弹个对话框出来
这样我可以在关机最后一段时间内执行一点动作,然后关闭
请问如何实现?
调试欢乐多
Process,如果中间有一个Process不能顺利结束(例如:Word修改后未存档,而出现是
否存档,但我们按取消),这时该信息执行的结果会传回False(0),这时Windows也就
不再继续送WM_QUERYENDSESSION给下一个Proccess。反之,如果所有的Process都可以
顺利结束(也就是每个送出的WM_QUERYENDSESSION都传回True),那才代表以以顺利结束。不管WM_QUERYENDSESSION最后的结果是可以顺利结束或不能顺利结束,Windows会再送
一个WM_ENDSESSION的信息给所有的Process,而wParam的内容便是指出是否可以顺利
结束下面的代码是截获消息,使得系统无法关机或者注销。主要内容其实就这一句
procedure QueryEndSession(var Msg:TMessage);Message WM_QueryEndSession;
将程序保存之后,编译,然后去运行那个编译的程序,你会发现只要此程序运行,系统就无法关机。当然,你可以在这里做其他操作,例如记录日志之类。这里的消息处理只对本程序有效果,如果想扩展应用面,可以做成message hook dll。unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
procedure QueryEndSession(var Msg:TMessage);Message WM_QueryEndSession;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.QueryEndSession(var Msg: TMessage);
begin
Msg.Result := 0;
end;