![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как в DLL узнать хендел формы [D7, XP]
4IZH © (2006-07-07 21:56:00)привет народ
скажите как в DLL узнать хендел формы приложения, в адресное пространство которого эта DLL загружена
4IZH (2006-07-16 22:00:00) [1]to begin end
передать из проги установившей хук не выдет, так как после подгрузки в чужое А .П. все переменные в DLL обнуляются
Ketmar (2006-07-15 16:38:00) [2]>redlord (15.07.06 14:08) [8]
ФОРМЫ есть в Delphi и VB. а если там чистый WinAPI, например? там не формы, а окна. EnumWindows/EnumCHildWindows. и угадывай.
DrPass (2006-07-15 15:30:00) [3]
> Правда, почему приложение вместо того, чтобы сообщить хэндл
> окна библиотеке (см. [2]), заставляет её заниматься этим
> поиском, не совсем ясно.
Подсказываю - приложение может быть написано посторонним разработчиком, который не предполагал того, что задумал товарищ 4IZH
begin...end (2006-07-15 14:42:00) [4]> redlord (15.07.06 14:08) [8]
> данная DLL будет загружена тока в нужною мне прогу так как
> при установке хука указан ее ID
ОК, только при установке хука указывается ID не проги, а потока. А раз так, то перечислить родительские окошки, связанные с этим потоком, можно с помощью EnumThreadWindows (которую можно вызвать и из DLL). Среди них и можно будет найти нужное окно. Правда, почему приложение вместо того, чтобы сообщить хэндл окна библиотеке (см. [2]), заставляет её заниматься этим поиском, не совсем ясно.
redlord (2006-07-15 14:08:00) [5]to begin end
данная DLL будет загружена тока в нужною мне прогу так как при установке хука указан ее ID
to ketmar
нужен хендел основной формы приложения. на котором расположены
все контролы управления
Ketmar (2006-07-08 13:16:00) [6]а если там не формы, а просто окна? да ещё и во множественном числе? какое именно надо?
begin...end (2006-07-08 08:21:00) [7]> 4IZH (07.07.06 21:56) [0]
А что будем делать, если DLL окажется загруженной в адресные пространства НЕСКОЛЬКИХ приложений?
4IZH (2006-07-07 22:31:00) [8]в моем случае да есть
Virgo_Style (2006-07-07 22:24:00) [9]а у той программы точно есть формы?
redlord (2006-07-07 22:18:00) [10]нет .
эта DLL подгружается к чужой проге путем установки хука ,
и нужно получить указатель на форму той проги на которую установлен хук
parovoZZ (2006-07-07 22:09:00) [11]Передавай в функции. Например, при инициализации dll. А если exe не твоё, то извини.....
PSPF2003 (2006-07-07 22:03:00) [12]Ты имеешь в веду ту форму из которой была вызвана DLL?