如何授权后关闭应用程序(100分)

  • 主题发起人 主题发起人 barton
  • 开始时间 开始时间
B

barton

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个WindowsNT下的服务器程序,在服务器启动后,有一个监视窗口,作为主窗口,
平时是隐藏的,只显示托盘图标。当点击监视窗口上的关闭按钮时当然并不关闭整个程
序,只隐藏主窗体。只有点击菜单项中的关闭命令或者操作系统关闭时方可关闭。
这应该是个简单的问题,但我总是搞不定。现在只能手工关闭程序,然后才能关机。
注意:使用OnClose或OnQueryClose事件均不行。
 
什么意思?
 
procedure mymessage(var Message: TWMSysCommand);message WM_SYSCOMMAND;

procedure TForm1.mymessage(var Message: TWMSysCommand);
begin
; if (Message.CmdType and $FFF0 = SC_CLOSE) then
; ; ;Application.Minimize
; else Inherited;
end;

你是不是想要这个效果?
 
//补充:
var willcolse:boolean;//授权“关闭”变量,你可以保存到INI文件或注册表中。

procedure mymessage(var Message: TWMSysCommand);message WM_SYSCOMMAND;

procedure TForm1.mymessage(var Message: TWMSysCommand);
begin
; if (Message.CmdType and $FFF0 = SC_CLOSE) then
; ; ;if willcolse then Inherited
; ; ;else Application.Minimize
; else Inherited;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
; willcolse:=true;//授权“关”
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
; willcolse:=false;////授权“不关”
end;
 
好了,就是它了。发分!
 
接受答案了.
 
后退
顶部