![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Список форм
_NoS_ © (2003-07-10 16:49:00)
Подскажите люди добрые как мне получить список всех открытых форм и размещенных на них всяких label"ов, edit"ов и т.д.
Song (2003-07-16 16:17:00) [1]
Это ф-ии АПИ
_NoS_ (2003-07-16 13:42:00) [2]
Song, что значит "EnumWindows()+EnumChildWindows()"?
Song (2003-07-12 19:54:00) [3]
EnumWindows()+EnumChildWindows()
Spawn (2003-07-12 18:35:00) [4]ну например так. Только тебе нужно самому отделять куда какие хендлы относятся:
Wnd := GetWindow(Form1.Handle, gw_HWndFirst);
while Wnd <> 0 do
begin
if (Wnd <> Application.Handle) then
//Делаешь что то
if (GetWindow(Wnd, gw_Owner) = 0) then
//Делаешь что то
( Wnd, gw_hWndNext)
ну например так. Только тебе нужно самому отделять куда какие хендлы относятся:
Wnd := GetWindow(Form1.Handle, gw_HWndFirst);
while Wnd <> 0 do
begin
if (Wnd <> Application.Handle) then
//Делаешь что то
if (GetWindow(Wnd, gw_Owner) = 0) then
//Делаешь что то
Wnd := GetWindow(Wnd, gw_hWndNext);
end;
Обрати внимание также и на такие функции как IsWindow(), IsWindowWisible(), IsZoomed(), IsChild() и т.д. По идее можно ето еще сделать путем поиска окон через EnumWindows+FindWindowEx(Для нахождения хендлов контролов окна, если EnumWindows этого не дает, а то щас не помню:)) )
_NoS_ (2003-07-12 16:21:00) [5]
Spawn, что значит "GetWindow+GW_HWNDFIRST+GW_HWNDNEXT"?
Spawn (2003-07-10 22:00:00) [6]
GetWindow+GW_HWNDFIRST+GW_HWNDNEXT
clickmaker (2003-07-10 17:06:00) [7]
Screen.Forms
Form.Controls