本文整理自网络,侵删。
以前的代码:
///////////////////////////////////////
ShowWindow(Application.Handle,SW_HIDE);
///////////////////////////////////////
在 Delphi2007/2009/2010 已经失效!
原因是 Delphi 在 Form 改写代码,在工程文件中多了:
///////////////////////////////////////
Application.MainFormOnTaskbar := True;
///////////////////////////////////////
这个主要是修正 Delphi 编译出来的 EXE 文件让它在任务栏的右键菜单和 系统的一样而已;
好了,进入正题;方法有二:
第一:
你可以将工程文件中的:
Application.MainFormOnTaskbar := True;
这句注释掉,然后就可以用
ShowWindow(Application.Handle,SW_HIDE);
这句了,结果是一夜回到解放前;因为在系统任务栏的右键菜单又只有三个了。。。
第二个方法:
/////////////////////////////////////////////////////////
procedure HideApplication(HideOnStartUp: Boolean = False);
begin {sail2000#126.com}
if HideOnStartUp then
Application.ShowMainForm := False;
if Application.MainFormOnTaskBar and (Application.MainForm <> nil) then
begin
ShowWindow(Application.MainForm.Handle, sw_Hide)
end
else
begin
ShowWindow(Application.Handle, sw_Hide); //唉。。。
end;
end;
//调用方法一:
procedure TForm1.FormCreate(Sender: TObject); //构建窗体时用
begin {sail2000#126.com}
HideApplication(True);
end;
//调用方法之二:
procedure TForm1.Button1Click(Sender: TObject);//其他需要
begin {sail2000#126.com}
HideApplication;
end;
/////////////////////////////////////////////////////////
两个调用方法,看需要用。
相关阅读 >>
Delphi adoconnection1连接mssql数据库方法
Delphi firedac 下的 sqlite [4] - 创建数据库
Delphi idhttpserver接收http get请求解码问题
Delphi 用stringhelper.split分解字符串
更多相关阅读请进入《Delphi》频道 >>