我的程序运行时是隐藏窗口的,也没有图表,这样我怎样才能在程序被关闭时调用我的某个方法 ( 积分: 40 )

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

songjy

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序运行时是隐藏窗口的,application.showmainform:= false ;<br>也没有图标,在这种情况下,我怎样才能在程序被关闭时调用我的某个方法<br>注: &nbsp;在主窗口不显示的情况下,关闭程序时mainform的onclosequery不会被调用,是怎么回事情?请朋友赐教,万分感谢。
 
我的程序运行时是隐藏窗口的,application.showmainform:= false ;<br>也没有图标,在这种情况下,我怎样才能在程序被关闭时调用我的某个方法<br>注: &nbsp;在主窗口不显示的情况下,关闭程序时mainform的onclosequery不会被调用,是怎么回事情?请朋友赐教,万分感谢。
 
销毁的时候去处理。。。Ondestory
 
好像不可以,因为主窗体都没有起来,当然不会有OnCloseQuery了,关注下,而且好像Application也没有类似OnTerm……的方法
 
就是啊,application.onmessage都没有得到任何消息
 
unit Unit1;<br><br>interface<br><br>uses<br> &nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br> &nbsp;Dialogs, StdCtrls;<br><br>type<br> &nbsp;TForm1 = class(TForm)<br> &nbsp; &nbsp;Button1: TButton;<br> &nbsp; &nbsp;Button2: TButton;<br> &nbsp;private<br><br> &nbsp; &nbsp;{ Private declarations }<br> &nbsp;public<br> &nbsp; &nbsp;{ Public declarations }<br> class &nbsp; procedure myselfmessage(var Msg: TMsg; var Handled: Boolean);<br><br> &nbsp; &nbsp; &nbsp;end;<br><br>var<br> &nbsp;Form1: TForm1;<br><br>implementation<br><br>{$R *.dfm}<br><br>class procedure TForm1.myselfmessage(var Msg: TMsg; var Handled: Boolean);<br>begin<br> &nbsp; &nbsp;if Msg.message = WM_QUIT then &nbsp;begin<br> &nbsp; &nbsp; &nbsp; &nbsp;ShowMessage('asdfds');<br> &nbsp; &nbsp;end;<br>end;<br><br><br>end.<br><br><br>program Project1;<br><br>uses<br> &nbsp;Forms,<br> &nbsp;Unit1 in 'Unit1.pas' {Form1};<br><br>{$R *.res}<br><br>begin<br> &nbsp;application.OnMessage := TForm1.myselfmessage;<br> &nbsp;Application.Initialize;<br><br><br> &nbsp;Application.CreateForm(TForm1, Form1);<br><br> &nbsp;Application.Run;<br>end.<br><br><br>看看有没有参考价值
 
如果没有可以显示出来的窗体,application好像得不到任何消息。是不是要用hook截取windows消息啊,
 
程序如何被关闭的?关闭系统?
 
在Application.Run后加上。<br><br>...<br>Application.Run;<br>MyProc;
 
Application.Run;<br>MyProc; &nbsp;<br>不执行myproc;<br>程序是被windows任务管理器关闭的
 
........被任务管理妻关闭的好象不会收到消息<br><br>即使开着mainform也不会收到消息
 
如果开着窗口,是会有消息的。
 
哦? 为什么我没收到。。。-_-! 是哪个消息? WM_QUIT?
 
被任务管理器结束的话,不会收到任何消息,被直接KILL了
 
用非常手段关掉的程序,不要指望会得到照顾了<br>尽量有时也会知道,但那是没任何保证的<br>就像因车祸而死的人一般没空儿留下遗嘱。。。:|
 
多人接受答案了。
 
后退
顶部