![]() |
|
|
#1
|
||||
|
||||
|
Здравствуйте уважаемые форумляне!
Меня интересует как найти общее количество открытых окон в Windows, узнать их координаты (Rect), и узнать какое окно активно? Заранее благодарен. |
|
#2
|
|||
|
|||
|
Дедается просто =) Пишем функции для работы с окнами
Код:
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; |
|
#3
|
||||
|
||||
|
Цитата:
|
|
#4
|
||||
|
||||
|
Спасибо всем!!!
|