Показать сообщение отдельно
  #2  
Старый 20.08.2008, 15:53
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Дедается просто =) Пишем функции для работы с окнами
Код:
function EnumChldWnd(Wnd: HWND): BOOL; stdcall;
begin
 Result := true;

 {
  операции с дочерним окном
 }
end;

function EnumWindowsWnd(Wnd: HWND): BOOL; stdcall;
begin
 Result := true; // для вызывающей функции, если false произойдет останов

 {
 операции с главным окном
 }

 EnumChildWindows(Wnd, @EnumChldWnd, 0); // находим дочерние окна
end;

Далее где-то в коде
Код:
EnumWindows(@EnumWindowsWnd, 0);

Функции
Код:
IsWindowVisible(h) - является ли окно видимым
GetWindowRect(h, Rect) - размеры

Это что касается всех окон, активное же окно всегда одно и находится функцией
Код:
GetForegRoundWindow;
Ответить с цитированием