去美国读高中好吗:怎样使加载到"启动"中的程序隐藏即屏幕上无任何显示,而在后台执行?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 12:42:15

首先, 这个程序本身要具有隐藏自己的能力,如果不行,加一句ShowWindow(SW_HIDE), 不过这要第三方软件来给它加.

如何从任务栏上隐藏应用程序的按纽?
------------------------------------------------------------------
用过金山词霸的朋友一定对其主窗口的工作方式很感兴趣。
当它显示时,在任务栏有一个对应的按纽,而当它最小化
的时候则从任务栏上消失了。

如何在我们的程序中实现这一技巧呢?
通过研究Delphi程序的工件方式和试验摸索,本人得出了
实现这一技巧的方法。现在写出来与大家共享,希望能对
大家编程有所帮助。
其实本来实现这一技巧很容易的,只要在窗口的最小化事
件代码中加入:self.hide;就行了。但问题是Form没有最
小化事件。通过摸索,本人发现当主窗口最小化时会调用
Application 对象的OnMinimize方法。只要在自己的主窗
口定义中添加一个自己的方法,再将它安装到Application
对象的OnMinimize方法上去就行了。要再次显示主窗口只
要调用show;方法就行了。不过要注意:一定要主窗口的
OnShow事件方法中加入Application.Restore;方法调用,
否则,第二次按最小化按纽的时候,程序将什么也不做。
要使程序启动时不显示主窗口,只要在Project代码中加入
Application.ShowMainForm:=false;就行了。
以下是程序片段。
{WinKill.Dpr}
program WinKill;

uses
Forms,
FMain in 'FMain.pas' {FormMain};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TFormMain, FormMain);
Application.ShowMainForm:=false;//*****
Application.OnMinimize:=FormMain.AppMinimize;//******
Application.Run;
end.

{Unit FMain}
.
.
.
procedure TFormMain.M_ShowClick(Sender: TObject);
begin
self.Show;

end;
procedure TFormMain.AppMinimize(Sender: TObject);
begin

inherited;
self.Hide;
end;
procedure TFormMain.FormShow(Sender: TObject);
begin
Application.Restore;
//如果将这句去掉,则第二次按最小化按纽的时候,程序将什么也不做。
end;