Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить HWND окна? [D4, D5, D6, Win95/98, NT4, Win2k]


Vlad_NOJB ©   (2002-01-20 10:27:00) 

Приветствую всех знатоков Delphi!
Прошу Вас помочь в решении следующей проблемы.
Мне необходимо получить HWND окна. Обычно я это делал ф-цией FindWindow, но в данном случае не работает.
Дело в том, что программа HWND, которой я пытаюсь получить, при каждом запуске меняет класс окна.
Как быть? Может кто-то сталкивался с подобными задачами?
Заранее спасибо!


Vlad_NOJB   (2002-01-20 15:18:00) [1]

Если создаётся какой-то новый класс, то наверно где-то в системе он будет прописан.
А насчёт GetWindowProcessIdнадо попробовать. О результатах сообщу. Спасибо за помощь!


Алексей Петров   (2002-01-20 11:54:00) [2]

> Vlad_NOJB (20.01.02 11:22)
> Ни откуда нельзя прочитать чтоза класс создала программа?
А на русский сможешь перевести?

Программа может создать (и почти всегда создает) много классов окон.

Если ты сам процесс запускаешь - то тебе его ProcessId известен - с помощью GetWindowProcessId можешь выбрать все его окошки.


Vlad_NOJB   (2002-01-20 11:22:00) [3]

Да, я знаю что это за окно и знаю признаки по которым однозначно можно определить, что это нужное мне окно. Причём эту программу я запускаю из своей программы. Ни откуда нельзя прочитать чтоза класс создала программа?


Алексей Петров   (2002-01-20 11:13:00) [4]

А ты сам знаешь, для какого окна тебе нужен HWND?
Т.е. сможешь определить набор формальных признаков, по которым можно сказать "это то самое окно".

Если нет - проблема не решается, ну а если да - воспользуйся, например функцией EnumWindows для перебора всех и выбирай нужное.


Наверх

Титульная страница Поиск, карта сайта Написать письмо