![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить HANDLE гл.формы и ее дочерних форм?
mikka © (2005-09-01 12:59:00)Как определить HANDLE гл.формы и ее дочерних форм?
Т.е. имеется гл.форма и в ней открываются другие формы.
Хэндл гл. формы опредить можно так:
FindWindow("TMainForm",NULL);
А как определить хендлы дочерних форм?
Digitman (2005-09-01 16:47:00) [1]
> ANB © (01.09.05 16:00) [12]
> понятно, чего автор хотел.
мне НЕ понятно.
ANB (2005-09-01 16:37:00) [2]
> Игорь Шевченко © (01.09.05 16:09) [14]
- просто повтор действий пользователя не сильно подходит. К тому же через keybd_event все работает, но компутером пользоваться при этом нельзя.
Игорь Шевченко (2005-09-01 16:09:00) [3]ANB © (01.09.05 16:01) [13]
Я в свое время занимался тестированием. Работал через WH_JOURNALRECORD и WH_JOURNALPLAYBACK
ANB (2005-09-01 16:01:00) [4]
> Digitman © (01.09.05 15:54) [11]
- лучше подскажи, в какую сторону рыть, чтобы сэмулировать нажатие Tab и сочетаний клавиш с помощью сообщений (моя ветка ниже).
ANB (2005-09-01 16:00:00) [5]
> Digitman © (01.09.05 15:54) [11]
- да забей. Все равно понятно, чего автор хотел.
Digitman (2005-09-01 15:54:00) [6]
> ANB © (01.09.05 15:39) [10]
угу .. но не наоборот
ANB (2005-09-01 15:39:00) [7]
> Digitman © (01.09.05 15:14) [9]
- ну все формы то, которые видны (да и невидимые, но созданные) в конце концов являются окнами.
Digitman (2005-09-01 15:14:00) [8]
> mikka (01.09.05 14:05) [6]
откуда "другое" приложение знает, что в "не другом" приложении есть какие-то там "формы" ?
ты понимаешь концептуальную разницу и взаимосвязь между "формой" и "окном" ? в т.ч. применительно к Делфи ? или для тебя что ни окно, которое видишь на экране, то сразу формой является ?
mikka (2005-09-01 14:15:00) [9]понятно
ANB (2005-09-01 14:13:00) [10]Эти формы являются окнами верхнего уровня. Ищутся так же, как и главное и с точки зрения виндовс ничем особым от него не отличаются. Если нужно отследить все окна одного приложения, то нужно узнать ProcessID и перебрав окна с помощью EnumWindows выбрать принадлежащие нужному процессу.
ЗЫ. Чего так много народу другими приложениями пытаются управлять ? Автоматизируют тестирование ?
mikka (2005-09-01 14:05:00) [11]>КТО, ГДЕ и в КАКОМ месте твоего алгоритма должен иметь сабж ?
Из другого приложения нужно отследить все диалоговые окно открытые из гл. формы
Digitman (2005-09-01 13:43:00) [12]
> mikka (01.09.05 13:02) [2]
бред какой-то ..
КТО, ГДЕ и в КАКОМ месте твоего алгоритма должен иметь сабж ?
mikka (2005-09-01 13:41:00) [13]эт я понял что они не дочерние и с помошью
GetChildWindows() хендлы диалоговых окно не получить
Но тогда как получить?
Игорь Шевченко (2005-09-01 13:36:00) [14]
> из. главной формы открываются модальные диалоговые окна.
> их хендлы и нужно получить, отталкиваясь от гл.формы.
А с какой стати они будут дочерними ?
mikka (2005-09-01 13:02:00) [15]из. главной формы открываются модальные диалоговые окна.
их хендлы и нужно получить, отталкиваясь от гл.формы.
ANB (2005-09-01 13:01:00) [16]
> mikka (01.09.05 12:59)
в каком смысле дочерние ? MDIChild ?