Delphi编程中控制Windows任务栏
在Windows 9X中屏幕最下方是任务栏,用户可以对其进行一些设置。如你在任务栏上单击鼠标右键选择属性之后,在弹出的对话框中你就可以进行设置了,那么在我们所编的程序中如何来控制任务栏呢?方法便是:调用API函数。
说明:在以下程序中使用FindWindow和SetWindowPos 这两个API函数来实现在程序中控制Windows任务栏的隐藏及显示,函数的声明内容都在Windows.pas文件中。
首先,新建工程,在默认的Form1上放上一个Button1(其caption属性为隐藏任务栏)和Button2(其caption属性为显示任务栏),其他属性保持不变,然后输入以下程序代码:
unit STARTBAR;
interface
uses Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls;
type TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var Form1: TForm1; RET:HWND; //声明全局变量
implementation{SR *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
RET:=FINDWINDOW(′Shell_traywnd′,′′);
end;
procedure TForm1.Button1Click(Sender: TObject); //隐藏任务栏
begin
SETWINDOWPOS(RET,0,0,0,0,0,SWP_HIDEWINDOW);
end;
procedure TForm1.Button2Click(Sender: TObject); //显示任务栏
begin
SETWINDOWPOS(RET,0,0,0,0,0,SWP_SHOWWINDOW);
end;
end.
现在你可以运行一下(按F9),当你按BUTTON1时任务栏就被隐藏了,再按一下BUTTON2就可再次显示任务栏。
注:以上程序在中文Windows 98,Delphi4.0 C/S版中调试通过。