Получение координат области Рабочего стола, не скрытой Панелью задач
Автор: Dimka Maslov
WEB-сайт: http://delphibase.endimus.com
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Получение координат области Рабочего стола, не скрытой Панелью задач
Зависимости: Windows
Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright: Dimka Maslov
Дата: 4 ноября 2002 г.
***************************************************** }
function GetDesktopRect: TRect;
var
RgnDesktop, RgnTrayWnd: HRGN;
function CreateWindowRgn(Handle: HWND): HRGN;
var
R: TRect;
begin
GetWindowRect(Handle, R);
with R do
Result := CreateRectRgn(Left, Top, Right, Bottom);
end;
begin
RgnDesktop := CreateWindowRgn(GetDesktopWindow);
try
RgnTrayWnd := CreateWindowRgn(FindWindow('Shell_TrayWnd', ''));
try
CombineRgn(RgnDesktop, RgnDesktop, RgnTrayWnd, RGN_DIFF);
GetRgnBox(RgnDesktop, Result);
finally
DeleteObject(RgnTrayWnd);
end;
finally
DeleteObject(RgnDesktop);
end;
end;
|