此功能类似于在windows系统中设置“任务栏和开始菜单”中的属性“自动隐藏”。鼠标要应如何判断此状态栏在屏幕中的坐标位置?若用API函数ClientToScreen ,其需要一个窗口句柄,此窗口是什么?若隐藏了此窗口的句柄是否还存在?
解决方案 »
- delphi相关知识求助
- 动态创建的按钮,更改大小或位置使之不重启生效,如何做?
- 哪位大哥有三层数据库的例子呀,发一个给我成吗
- FastReport预览怎么出现版面混乱?布局全部错位了
- 手机短信开发,获得电池电量的AT指令是什么?(西门子)
- 求助。。。。。。。。。。。。。SQL语句,Table控件
- 关于dbExpress中的SQLConnection和SQLDataSet的问题
- 如何判斷一個文檔是否存在?
- 如何判断字符串有日文韩文字符并替换
- 用SQL6.5的Image字段存储二进制文件时的容量问题
- 关于用spcomm进行串口通讯的问题
- inner join语句是怎么用的,因为CSDN的历史帖子现在是不显示的(非常糟糕,很多问题都不能查询历史贴子了),所以只能提问了
begin
h := FindWindow('Shell_TrayWnd', nil);
if h <> 0 then
ShowWindow(h,SW_HIDE); //隐藏
{ShowWindow(h,SW_SHOW); //显示}
end;
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Timer1Timer(Sender: TObject);
var
hTaskBar : Thandle;
Rct : TRect;
Pt : TPoint;
begin
hTaskBar := FindWindow('Shell_Traywnd',nil);
GetWindowRect(hTaskBar,Rct);
GetCursorPos(pt);
if PtInRect(Rct,pt) then
ShowWindow(hTaskBar,sw_shownormal)
else
ShowWindow(hTaskBar,sw_Hide)end;procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval := 300;
end;end.