时间: 2021-07-31 作者:daque
有功夫步调在运转傍边,不承诺其余步调或报酬的封闭计划机,只有运用步调领会windows将要退出,本来如许很大略,咱们都领会体例将要封闭时,会向每一个步调发送wm_queryendsession这条关灯动静,只有咱们的步调接遭到此动静后,做适合的处置登时实行咱们所须要的。 处置windows动静有好几种,在这边咱们运用application的onmessage事变,创造相应该事变的进程即可!如底下的例子:unit unit1;interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs;type tform1 = class(tform) private { private declarations } public procedure appmessagehandler(var msg:tmsg; var handled:boolean);//证明体例处置动静进程,相应application的onmessage事变的进程必需为tmessageevent典型; { public declarations } end;var form1: tform1;implementation{$r *.dfm}procedure tform1.appmessagehandler(var msg:tmsg; var handled:boolean);begin if msg.message=wm_queryendsession then//即使收到的动静为封闭计划机的动静时,举行更加处置,由于不过一个例子,我只写出弹出对话框,大师不妨按照本人步调的须要举行相应的处置; begin if messagedlg('shutdown?',mtconfirmation,mbyesnocancel,0)= mryes then handled:=true else handled:=false; end;end;end.结果在步调的dpr文献中,创造窗体之后但在挪用application.run前介入application.onmessage:=form1.appmessagehandler;即可!