Вниз
Скачать: CL | DM;

как в DLL узнать хендел формы   Найти похожие ветки 

 
4IZH   (2006-07-07 21:56) [0]

привет народ
скажите как в DLL узнать хендел формы приложения, в адресное пространство которого эта DLL загружена


 
PSPF2003 ©   (2006-07-07 22:03) [1]

Ты имеешь в веду ту форму из которой была вызвана DLL?


 
parovoZZ ©   (2006-07-07 22:09) [2]

Передавай в функции. Например, при инициализации dll. А если exe не твоё, то извини.....


 
redlord   (2006-07-07 22:18) [3]

нет .
эта DLL подгружается к чужой проге путем установки хука ,
и нужно получить указатель на форму той проги на которую установлен хук


 
Virgo_Style ©   (2006-07-07 22:24) [4]

а у той программы точно есть формы?


 
4IZH   (2006-07-07 22:31) [5]

в моем случае да есть


 
begin...end ©   (2006-07-08 08:21) [6]

> 4IZH   (07.07.06 21:56) [0]

А что будем делать, если DLL окажется загруженной в адресные пространства НЕСКОЛЬКИХ приложений?


 
Ketmar ©   (2006-07-08 13:16) [7]

а если там не формы, а просто окна? да ещё и во множественном числе? какое именно надо?


 
redlord   (2006-07-15 14:08) [8]

to begin  end

данная DLL будет загружена тока в нужною мне прогу так как при установке хука указан ее ID

to ketmar

нужен хендел основной формы приложения. на котором расположены
все контролы управления


 
begin...end ©   (2006-07-15 14:42) [9]

> redlord   (15.07.06 14:08) [8]

> данная DLL будет загружена тока в нужною мне прогу так как
> при установке хука указан ее ID

ОК, только при установке хука указывается ID не проги, а потока. А раз так, то перечислить родительские окошки, связанные с этим потоком, можно с помощью EnumThreadWindows (которую можно вызвать и из DLL). Среди них и можно будет найти нужное окно. Правда, почему приложение вместо того, чтобы сообщить хэндл окна библиотеке (см. [2]), заставляет её заниматься этим поиском, не совсем ясно.


 
DrPass ©   (2006-07-15 15:30) [10]


> Правда, почему приложение вместо того, чтобы сообщить хэндл
> окна библиотеке (см. [2]), заставляет её заниматься этим
> поиском, не совсем ясно.

Подсказываю - приложение может быть написано посторонним разработчиком, который не предполагал того, что задумал товарищ 4IZH


 
Ketmar ©   (2006-07-15 16:38) [11]

>redlord   (15.07.06 14:08) [8]
ФОРМЫ есть в Delphi и VB. а если там чистый WinAPI, например? там не формы, а окна. EnumWindows/EnumCHildWindows. и угадывай.


 
4IZH   (2006-07-16 22:00) [12]

to begin end

передать из проги установившей хук не выдет, так как после подгрузки в чужое А .П.   все переменные в DLL обнуляются



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
6-1143079681
vadim1
2006-03-23 05:08
2006.08.06
"Asynchronous socket error 10061".


15-1152450316
анка
2006-07-09 17:05
2006.08.06
Стоит ли ехать в Питер во время Саммита?


4-1145025162
SMAC
2006-04-14 18:32
2006.08.06
Print emul


8-1139576928
sco
2006-02-10 16:08
2006.08.06
Алгоритм качественного уменьшения рисунка


3-1148986218
Iehbr
2006-05-30 14:50
2006.08.06
Запрос на выборку из дву таблиц




   Наверх