为何不能关闭Windows?(100分)

  • 主题发起人 主题发起人 feitianfu
  • 开始时间 开始时间
F

feitianfu

Unregistered / Unconfirmed
GUEST, unregistred user!
请教:我用C++builder4.0 写了一个系统托盘的程序(运行后关闭主窗口,显示托盘图标),
运行后,若是点“开始”菜单中的“关闭系统”来关机,则关机无效,必须主动退出该程序后才
才行。我该如何解决?
 
应该是你用了 AHM 或 LMD 的 SYSTEM 类型中的一个控件所至。
 
痛扁机器,还不改正就砸机器
 
楼上那位帅哥,不要那么恨机器,我们还要靠它吃饭耶.
你的问题可能是用了一些网络控件,如TNMUDP之类的,所BUG,你在CLOSE时将其FREE掉,应该
就没问题了.另外,也可以截获系统关机信息.如下:
procedure MyQuseryEnd(var Message:TMessage );Message WM_QUERYENDSESSION;

procedure TFrmAbout.MyQuseryEnd(var Message: TMessage); //系统关机消息截获.
begin
Close;
Message.Result := 1; //充许关机
end;
 
解决方法如上所说,但是问题的原因不是,自己做的托盘程序本身就不能分发系统关机
的消息,另外,加上inherited,好像是,要不就是dispatch,呵呵,忘了
procedure TFrmAbout.MyQuseryEnd(var Message: TMessage); //系统关机消息截获.
begin
Close;
Message.Result := 1; //充许关机
inherited;
end
 
谢谢各位。经检查是Form的CloseQuery事件中的CanClose=flase 导致。
 
后退
顶部