如何将图标按钮从任务栏中去掉(50分)

  • 主题发起人 主题发起人 mr.hl
  • 开始时间 开始时间
M

mr.hl

Unregistered / Unconfirmed
GUEST, unregistred user!
当打开一个程序时,会有一个小按钮在任务栏上出现,怎样才可以将它去掉?我使用了
SetWindowLong(Application. Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);去掉了按钮,
但是在最小化程序时,会有一个标题栏屏幕左下角出现,怎样才能实现在程序运行时既
不出现小按钮,最小化时窗体完全从桌面上消失?
 
小按钮?什么意思?
如果是Win9x,则在主程序的implementation前面加上一句:
function RegisterServiceProcess(dwPID:DWord;dwType:DWord):boolean;
StdCall;External 'Kernel32.DLL';
然后可以在Form1.Create和Form1.Close里面分别用下面两句来注册服务或取消:
RegisterServiceProcess(0,1);{隐藏}
RegisterServiceProcess(0,0);{解除}
 
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
procedure FormShow(Sender: TObject);
private
{ Private declarations }
Procedure WMSysCommand(Var message : TMessage) ;
Message WM_SYSCOMMAND ;
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.DFM}
Procedure TForm1.WMSysCommand(Var Message : TMessage) ;
begin

if (Message.WParam = SC_MINIMIZE) then
begin
Hide;
end
else
Inherited;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;

end.
 
to 杰克:
我所说的小按钮就是程序打开时在任务栏上显示的那个啊,比如说打开浏览器最小化后
你就必须从任务栏上的那个小按钮让它还原啊,我想要隐藏它,你所说的隐藏我不知道是隐
藏的什么,不能达到我的目的呀。
 
to zw84611:
你的方法实现了我最小化时的要求,但是在程序窗口正常时(不是最小化也不是最大化
)不对,将你的procedure TForm1.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
end;
改为
SetWindowLong(Application. Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);就对了:)
 
谢谢zw84611,我决定给你30分:)
 
to jamers:
gz是什么意思?呵呵
 
观注,呵,对这个问题有点兴趣,便于我查找,今后我可能也会有这样的用途,所以随便
打上几个字,呵
SORRY
 
有简单一点的办法吗?我好象记得用API,一句就可以了,可是现在怎么找也找不到了:(
顶!~~~``````
 
接受答案了.
 
后退
顶部