如何在同一个程序中不要显示多个窗口在任务栏上?

trainbox 2012-08-21 10:16:01
最近编写的软件出现了在windows任务栏上出现了多个窗口,原来是只有一个窗口的,窗口的图标也是application的图标,现在出现了多个窗口,并且窗口的图标都变成了windows的默认图标,这个可能是哪里引起的?
...全文
740 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
trainbox 2012-08-24
  • 打赏
  • 举报
回复
不是系统问题
hongss 2012-08-24
  • 打赏
  • 举报
回复
是不是系统问题造成的?
kaikai_kk 2012-08-23
  • 打赏
  • 举报
回复
使用相同的application
trainbox 2012-08-23
  • 打赏
  • 举报
回复
起初我也想是否可能和dll的有关,后来我修改了代码,所有的dll都不载入,在主程序主界面上直接show一个窗口(TForm),一样的现象。
林石公 2012-08-22
  • 打赏
  • 举报
回复
有时messagebox的api调用时,也会多出一个来
Handle参数不要用0,用application.handle或可避免

有时窗体的Createparams里Params.WndParent设置为application.handle也会有帮助
当然,如前几位所说,在dll中的窗体是要将主机程序的application.handle传过去才可以
wbc10813742 2012-08-22
  • 打赏
  • 举报
回复
以前遇到过 在win7系统上遇到过,Xp系统没问题,好像是将这个改为 MainFormOnTaskbar:=false; 试试
KinggridPeng 2012-08-22
  • 打赏
  • 举报
回复
var
ret:integer;
if ret = Error_ALREADY_EXISTS then
Application.MessageBox( '系统已在运行! ', '提示 ',mb_OK);
「已注销」 2012-08-22
  • 打赏
  • 举报
回复
var
stl: integer;
begin
stl := GetWindowLong(Form1.handle,GWL_EXSTYLE);
SetWindowLong(Form1.handle,GWL_EXSTYLE,stl and $FFFBFFFF);
...
hsfzxjy 2012-08-21
  • 打赏
  • 举报
回复
动态创建窗体时用:TXXXForm.Create(Application);保证没问题。
但若用DLL封装窗体,就要把Application.Handle传给窗体。。
酣酣 2012-08-21
  • 打赏
  • 举报
回复
dll里面的窗体?
调用时是否需要传主程序的Handle进去
Application.Handle := MainHandle;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧