关于任务栏! ( 积分: 50 )

  • 主题发起人 主题发起人 6713827
  • 开始时间 开始时间
6

6713827

Unregistered / Unconfirmed
GUEST, unregistred user!
有什么办法是DELPHI写的程序不在任务栏显示?但是我要看见窗口。
像QQ那样的。打开不显示在任务栏,但是能用窗口?
 
不显示在任务栏
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
 
试了N次了,不行。我的是DELPHI2007,是不是DELPHI2007就不行啊?
 
SetWindowLong 是API函数。
其中的常量GWL_EXSTYLE…… 等对于不同版本的DELPHI定义会不同。
最好是在FORM上重新定义常量,具体的值用BAIDU搜吧,多……
 
没有大哥给一个详细的吗?
 
SetWindowLong 可用的选项全部都试了,试了半个钟头没有一个成功!
 
试试:
ShowWindow(Application.handle,SW_HIDE);
因为Delphi在任务栏显示的其实是Application窗口(一个0*0大小的窗口)。
 
D2007的话,在
Application.Initialize;
后加上一句
Application.MainFormOnTaskbar := True;

然后覆盖主窗口的CreateParams方法
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.ExStyle := Params.ExStyle and not WS_EX_APPWINDOW;
end;
 
问题解决方法:
Application.Initialize;
Application.MainFormOnTaskbar := False;
Application.CreateForm(TForm1, Form1);
Application.Run;



SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);


大富翁真没高手了。哎!还是CSDN好。
 
后退
顶部