|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.01.2011, 12:33 | #11 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
ну и зачем вам этот hInstanse? GetModuleHandle(0) вернет хендл длл(будучи выполнена внутри ДЛЛ). Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
25.01.2011, 13:40 | #12 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
GetModuleHandle(0);
будучи вызвана в любом модуле вернет хендл основного модуля можно канечн поступить так в данной программе GetModuleHandle("dllname.dll"); что бесспорно выполниться быстрее и будет выглядеть лучше, чем в дллмайн: global_hInstance=hInstance; зачем его находить, если оно и так приходит? знаете, а вообще можно даже и так сделать же(где-то внутри длл же): Код:
а что если база длл, по которой она должна загрузиться в процесс будет уже занята другим модулем в этом процессе? это вполне может быть. база у длл (не системных канешн) еще как меняется так что hInstance ни разу не константа. а вообще, да вот так сделать вполне можно и все заработает: hHOOK = SetWindowsHookEx(WH_KEYBOARD,(HOOKP ROC)KeyboardProc,GetModuleHandle("d llhook.dll"),0); // имя длл в данном случае должно быть dllhook.dll но все равно я люто бешенно плююсь и могу создать целую Дорогу Из Желтого Кирпича
Нет, ну правда..
Последний раз редактировалось yuran666666; 25.01.2011 в 13:46. |
25.01.2011, 13:51 | #13 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
стоп, а почему сама ДЛЛ должна ставить хук? пусть управляющая программа ставит хук(там она будет знать и хендл ДЛЛ) а длл лишь обрабатывает его. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
25.01.2011, 14:03 | #14 | ||
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
Цитата:
Цитата:
Нет, ну правда..
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SetWindowsHookEx не могу перехватить нажатие клавиши. | flug | Общие вопросы Delphi | 0 | 10.12.2010 09:19 |
Получить ID процесса для setwindowshookex | TwiX | Общие вопросы Delphi | 2 | 20.05.2010 20:00 |