![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| sanek198 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 28.7.2007 Репутация: нет Всего: нет |
Доброго времени суток!
Нашел на одном сайте пример хука на мышь. Все работает, но почему-то WParam всегда равно нулю и хук не реагирует на мышиное колесо если в фокусе нет ни одного окна. Что не так? Буду очень признателен за любую помощь. Вот исходный код:
|
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
код содрал гдето, хоть бы вник как он работает.
удивительно, что AV хук не вызывает.
в 4 байта пытаешься писать 20 Добавлено через 1 минуту и 59 секунд это как минимум. есть и другие ошибки -------------------- There are always someone smarter than you... |
|||
|
||||
| Knom |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.10.2007 Репутация: нет Всего: нет |
Тоже интересует данный вопрос, перерыл кучу инфы - результат нулевой. Колесо работает, но результат для UP и DN одинаковый или 0, перепробовал множество вариантов.
Чтобы абстрагироваться от ошибок "содранного кода" - вот самый элементарный хук, интересует что надо вписать в WM_MOUSEWHEEL: ShowMessage( IntToStr(SmallInt(HiWord(wParam)))); Нужно чтобы форма находилась в свёрнутом состоянии и перехватывала НАПРАВЛЕНИЕ колеса мыши через хук, заранее спасибо. хук
форма
|
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
откуда очередной бредовый код взят?
-------------------- There are always someone smarter than you... |
|||
|
||||
| Knom |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.10.2007 Репутация: нет Всего: нет |
Что тебе конкретно не нравится? Это ОЧЕНЬ маленький и 100% работающий код, очень точно отражающий суть проблемы. Могу выложить 10+ различных вариантов "нормального" кода, но всё сводится к одному и тому же, а именно к обработке:
case wParam of WM_MOUSEWHEEL: "код обработки колеса мыши"; end; |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
так может имеет смысл WH_MOUSE_LL использовать?
Это сообщение отредактировал(а) MetalFan - 14.12.2007, 18:28 -------------------- There are always someone smarter than you... |
|||
|
||||
| Knom |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.10.2007 Репутация: нет Всего: нет |
если использовать WH_GETMESSAGE, то не обрабатывается:
case wParam of WM_MOUSEWHEEL: ShowMessage('колёсико'); end; едитед: а вообще я просто тупо все WH_ уже перепробовал ( Добавлено @ 18:34 ставил: const WH_MOUSE_LL=14; и ничего ( насчёт WH_MOUSE_LL: в слово "ничего" я вложил смысл ) , что выводится та же инфа что и для WH_MOUSE, не могу отловить отличие ВВЕРХ и ВНИЗ, понимаю конечно что делаю что-то не так и где-то в возвращаемом значении есть отличие в каком-то бите, но что и где? Это сообщение отредактировал(а) Knom - 14.12.2007, 18:39 |
|||
|
||||
| MetalFan |
|
||||||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
это работает:
приложение:
DLL:
Это сообщение отредактировал(а) MetalFan - 14.12.2007, 18:54 -------------------- There are always someone smarter than you... |
||||||
|
|||||||
| Knom |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 20.10.2007 Репутация: нет Всего: нет |
Работает !!! Большое спасибо и РЕСПЕКТ, а я два дня мучался
|
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |