Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];




Вниз

Как определить HWND окна? 


Vlad_NOJB   (2002-01-20 10:27) [0]

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



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

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

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



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

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



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

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

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

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



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

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




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.022 c
6-57473           Vlad____              2001-12-29 18:16  2002.03.18  
про анонимные прокси....


1-57440           GovoRun               2002-03-03 17:04  2002.03.18  
печать на сетевой принтер


6-57487           ValeraVV              2001-11-16 10:41  2002.03.18  
NetMassageBufferSend не работает


3-57320           xtremer               2002-02-19 14:51  2002.03.18  
О BDE и больших базах данных


4-57577           solo                  2002-01-18 01:45  2002.03.18  
Создание окна при помощи WinAp