Определение координат расположения TaskBar
Определение координат расположения TaskBar
uses..,ShellApi;
var
AppBarData: TAppBarData;
bAlwaysOnTop: Boolean; {Поверх окон}
bAutoHide: boolean; {Авт. убирать с экрана}
ClRect: TRect; {Клиентские области}
Rect: TRect;
Edge: UInt; {Местоположение TaskBar}
procedure DetectTaskBar;
begin
AppBarData.hWnd := FindWindow('Shell_TrayWnd', nil);
AppBarData.cbSize := sizeof(AppBarData);
bAlwaysOnTop := (SHAppBarMessage(ABM_GETSTATE, AppBardata) and ABS_ALWAYSONTOP) < > 0;
bAutoHide := (SHAppBarMessage(ABM_GETSTATE, AppBardata) and ABS_AUTOHIDE) < > 0;
GetClientRect(AppBarData.hWnd, ClRect.rc);
GetWindowRect(AppBarData.hwnd, rect);
if (Rect.top > 0) then
Edge := ABE_BOTTOM
else if (Rect.Bottom < Screen.Height) then
Edge := ABE_TOP
else if Rect.Right < Screen.Width then
Edge := ABE_LEFT
else
Edge := ABE_RIGHT;
end;