任务拦信息的获取

procedure TForm1.FormCreate(Sender: TObject);
var
 r: TRect;
begin
  //SystemParametersInfo(SPI_GETWORKAREA, 0, @r, 0);//取得工作区大小(不含任务拦)
  //另一种
  //ShowMessage('r.top='+ IntToStr(r.Top ) +
  //              '     r.botton='+IntToStr(r.Bottom ) +
  //              '     r.Left='+IntToStr(r.Left  ) +
  //              '     r.Right='+IntToStr(r.Right  ) ) ;
  //ShowMessage(IntToStr(Screen.Height   ));
  //------------
  GetWindowRect(FindWindow('Shell_TrayWnd', nil), r);//取得任务拦大小
  Form1.Top :=  (Screen.Height - (r.Bottom - r.Top))-Form1.Height;
  Form1.Left := r.Right - Form1.Width ; //(Screen.Width  - (r. - r.Top))-Form1.Height;
  //------------
end;

//------------------------------------------------------------------
function TForm1.GetTaskBar:integer;
var
abd:TAppBarData;
begin
abd.cbSize:=sizeof(abd);
SHAppBarMessage(ABM_GETTASKBARPOS,abd);
Result:=abd.rc.Bottom-abd.rc.Top;
end;


任务栏的高度宽度=Screen.Width,Height-客户区的高度,宽度。

//------------------------------------------------------------------

var
r: TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA, 0, @r, 0);//取得工作区大小(不含任务拦)
showmessage(inttostr(screen.height - (r.Bottom - r.Top)));
end;

移到右侧就用 screen.width - (r.Right - r.Left)

//------------------------------------------------------------------

var r: TRect;
begin
  GetWindowRect(FindWindow('Shell_TrayWnd', nil), r);
  ShowMessage(IntToStr(r.Bottom - r.Top));  // 高度
end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值