| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > не работает глобальный hook сообщений |
| Автор: dbgrid 11.6.2009, 10:44 | ||
| Здравствуйте Уважаемые.. Третий день дрючусь с хуками)) ничего не получается.... есть DLL для установки глобального хука и записи в файл хэндлов окон которые шлют сообщения (для примера!!!)
теоретически всё просто...и должно работать.... но в файл записываются только хэндлы программы которая включает этот хук....и всё, все остальные окна игнорируются... что здесь не так?? Кстати...переодически при использовании это DLL слетает explorer.exe |
| Автор: Romikgy 11.6.2009, 12:28 |
| а где вызов этого же после того как ты залогировал событие ? или у тя по логике должны все сообщения убиватся ? |
| Автор: dbgrid 11.6.2009, 13:13 | ||||
Спасибо, согласен, explorer теперь не слетает
)))))Спасибо....это многое объясняет.....например появление log.txt на рабочес столе))))) Исправил на C:\log.txt НО!!! Всё равно, запускаю прогу, беру окно БЛОКНОТЫ, перемещаю его, закрываю прогу... захожу в log но там хэндла БЛОКНОТА нету... Сравниваю с результатами spy++ |
| Автор: Romikgy 11.6.2009, 13:33 |
| а после твоей длл пробовал блокнот запускать ? |
| Автор: dbgrid 11.6.2009, 13:41 | ||
пробовал На самом деле ХУК действительно ГЛОБАЛЬНЫЙ....записывает в log кучу окон но блокнота там нет я использовал функцию
для того чтобы по хэндлу сразу записывалось имя процесса..... но блокнота там нет....(((( вообще изначальная задумка была такая например в блокноте открываешь файл, или нажимаешь какой нибудь пункт в меню....генерируется сообщение...моя dll эти сообщения фильтрует....и регестрирует в ЛОге |
| Автор: Romikgy 11.6.2009, 14:02 |
| дай полный текст этой длл и проекта запуска ее буду бета тестером |
| Автор: dbgrid 11.6.2009, 14:08 | ||||||
DLL
сама форма
Добавлено через 4 минуты и 6 секунд Я запустил хук после чего запустил блокнот.....пощёлкал по менюшкам.....закрыл блокнот а в ЛОГе сохранилось
|
| Автор: Romikgy 11.6.2009, 14:47 |
| система не грузит эту длл ко всем процессам , странно и не понятно , для меня (( |
| Автор: dbgrid 11.6.2009, 14:53 | ||
))))ну хоть не мне одному непонятно)))))) |
| Автор: dbgrid 23.6.2009, 08:55 | ||
| разобрался сам... кому интересно.. функция перехвата будет выглядеть так
|