Delphi2007-Delphi2010 程序不出现在任务栏的方法


本文整理自网络,侵删。

  以前的代码:
///////////////////////////////////////
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 with 语句的妙用

Delphi 从 .lnk 文件获取真正路径的程序

Delphi 中 16 进制转换为 10 进制

Delphi从dbgrid导出数据保存成excel文件

Delphi里如何限制form的大小

Delphi.about.com一个钩子的实现代码

Delphi穿墙自启动下载者4.0

Delphi中使用activex的一些心得

Delphi指针长度

Delphi捕捉屏幕

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...