Определение координат расположения 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;
|
|