如何编程实现Windows任务栏的自动隐藏? ( 积分: 50 )

  • 主题发起人 主题发起人 小飞点
  • 开始时间 开始时间

小飞点

Unregistered / Unconfirmed
GUEST, unregistred user!
条件是Windows任务栏的属性没有选中自动隐藏!

procedure TForm1.Button1Click(Sender: TObject);
var
wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0],'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, 0);
end;
能实现Windows任务栏的隐藏, 但运行其他程序窗口最大化时,任务栏的位置仍不能显示.
请问:为了更有效地利用显示器的空间,真正实现Windows任务栏的隐藏?
 
procedure WMSYSCOMMAND(var Msg:TMessage);message WM_SYSCOMMAND;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0],'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0], nil);
ShowWindow(wndHandle, SW_Show);

end;

procedure TForm1.WMSYSCOMMAND(var Msg: TMessage);
begin
if MSG.WParam=SC_ZOOM then
SetBounds(0, 0,Screen.Width, Screen.Height);
inherited;
end;
 
谢谢ysp娃娃! 但此时任务栏是彻底看不见了,我想保留任务栏,只是隐藏起来,和键盘设置任务栏属性为自动隐藏的效果一样.
 
没有明白你的意思 任务栏是看不见了 .但是还存在啊.只是Form把任务栏给覆盖了
 
因为在运行自己的程序时,还要利用任务栏做其他事情(输入法转换、切换到其他任务...)
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部