如果程序的窗体是不可见的,在Windows关闭时怎么样接收到Windows的关闭系统的消息?

解决方案 »

  1.   

    WM_QUERYENDSESSION
    用Delphi实现禁止用户关闭Window9X。在软件的安装或演示操作等过程中,如果关闭WIN9X会产生严重的后果, 
    就必须禁止用户关闭WIN9X,直到完成相应的操作,那么如何才能禁止用户 
    关闭WIN9X呢?其实很简单,当用户关闭WIN9X时, 系统会发送给各应用程序 
    一个消息wm_queryendsession, 告诉各应用程序要关机了,如果反馈回来的 
    消息值为0,那么WIN9X就不能关机。因此,截获wm_queryendsession,并反馈 
    回0,大功就告成了,下面是一个例子。 //声明拦截WM_QueryEndSession消息的过程 
    procedure WMQueryEndSession(var Msg: TMessage);message WM_QueryEndSession; procedure TForm1.WMQueryEndSession(var Msg: TMessage); 
    begin 
    if CheckBox1.Checked then Msg.Result :=1 
    else Msg.Result :=0; 
    end; 
      

  2.   

    关机的时候,Windows 会关闭所有的程序,其他的就和楼上的一样了。