|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.05.2010, 19:31 | #1 |
Регистрация: 11.05.2010
Сообщений: 6
|
(C++) Работа с Win API, ХУКАМИ.
У меня есть два проекта, один Dll библиотека, второй исполняемый файл
Примерная схема библиотеки: Код:
Код:
И если у меня нету в исполняемом файле нет главного окна, то будет ли WH_KEYBOARD обрабатывать нажатия клавиатуры? Может нужно использовать WH_KEYBOARD_LL ? WH_CBT Вообще не происходит....Почему? Возможно WH_CBT и WH_KEYBOARD должны быть описаны в исполняемом файле?? (я о функция соотвецтвующих хукам) У меня KeyboardProc CBTProc описаны в самой библиотеке, это правильно? Если я хочу перехватывать допустим все события клавиатуры, будет ли мне их выдавать WH_KEYBOARD ?? или необходимо использовать WH_KEYBOARD_LL ?? Последний раз редактировалось stribogaaa; 11.05.2010 в 20:20. |
11.05.2010, 20:07 | #2 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
а как библиотека подключается к исполняемому файлу?
|
11.05.2010, 20:12 | #3 |
Регистрация: 11.05.2010
Сообщений: 6
|
Код:
Тут проблема с хуками... либо я не те использую.. либо что то другое... Последний раз редактировалось stribogaaa; 11.05.2010 в 20:14. |
11.05.2010, 20:46 | #4 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
в SetWindowsHookEx должен передаваться HINSTANCE модуля, в котором находится фильтр-процедура, а у вас hi=0
|
11.05.2010, 21:37 | #5 | |
Регистрация: 11.05.2010
Сообщений: 6
|
Цитата:
Код:
(забыл сразу включить в вопрос эту часть кода) |
|
11.05.2010, 21:41 | #6 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Так к слову, идеальный и самый верный метод создания хуков:
1. Загрузка динамическая - LoadLibrary вашей .dll 2. .dll экспортирует функции обработчики хуков 3. Исполняемый файл вызывает SetWindowHookEx + HINSTANCE вашего загруженного .dll Правильный подход, сразу убирает возможные грабли |
12.05.2010, 10:24 | #7 |
Регистрация: 11.05.2010
Сообщений: 6
|
BOBAH13, вы считаете проблема в загрузке библиотеки?
Может это поможет разобраться, при вызове функции Код:
- hCBTHook 0x007e08cb {unused=??? } HHOOK__ * unused CXX0030: ошибка: невозможно вычислить выражение - hKeyHook 0x00650911 {unused=0 } HHOOK__ * unused 0 int - hi 0x10000000 {unused=9460301 } HINSTANCE__ * unused 9460301 int Может кто-то по поводу этой ошибки выскажет предположения?? И еще WH_KEYBOARD_LL немного меняет ситуацию... но обработка hCBTHook так и не происходит?? истина, возможно, кроется в этом... Последний раз редактировалось stribogaaa; 12.05.2010 в 10:26. |
12.05.2010, 16:23 | #8 |
Форумчанин
Регистрация: 18.09.2009
Сообщений: 133
|
Истина на виду...
1)функция установки хука возвращает Код:
БЛИН, И КАК ЖЕ МОЖЕТ БЫТЬ ФУНКЦИЯ УСТАНОВКИ ХУКА БУЛЕВСКОЙ, И ПРИ ЭТОМ ВОЗВРАЩАТЬ ДЕСКРИПТОР ХУКА!!!??? 2) Код:
3.1) в заголовочном файле DLL: Код:
Код:
Код:
О том, как загрузить функцию из DLL писалось выше...УДАЧИ!!! Последний раз редактировалось JeyKip; 12.05.2010 в 16:33. |
12.05.2010, 16:52 | #9 | |||
Регистрация: 11.05.2010
Сообщений: 6
|
JeyKip,ты бы дочитал вопрос до конца!!!
Цитата:
Предполагалось возвращение Код:
Цитата:
Цитата:
Если бы она была бы на виду, ЭТОТ ТОПИК НЕ ВИСЕЛ БЫ ТУТ УЖЕ 2 ДНЯ !!! |
|||
12.05.2010, 16:57 | #10 |
Регистрация: 11.05.2010
Сообщений: 6
|
Мне кажется это понятно даже "ТУБУРЕТКЕ", в итоге от своего поста никакого толку...!!!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Win API ( CИ) | ПроГрам | Помощь студентам | 0 | 29.04.2010 21:43 |
Win Api | alexov | Общие вопросы C/C++ | 4 | 29.01.2009 13:33 |
Win API | aleks_n | Общие вопросы Delphi | 0 | 15.09.2008 11:07 |
Win Api, работа с мышью | Petrr | Win Api | 2 | 26.04.2008 19:58 |