Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > GetCursorPos hook |
Автор: renderrr 14.7.2009, 12:05 |
хочу поставить глобальный хук на GetCursorPos, дабы он всегда возвращал 0. чем это чревато для простых пользователей? у себя пока заметил невозможность загрузить explorer, regedit, taskmgr. зачем им эта функция? |
Автор: dumb 14.7.2009, 14:30 |
http://forum.vingrad.ru/act-Help/CODE-01/HID-17.html |
Автор: renderrr 14.7.2009, 14:43 |
не нужны тут телепаты ![]() хотя, если хотите, обьясню: я написал дллку, которая прописана в HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs, таким образом она инжетится во все запускаемые процессы. в дллке есть мною написаные функции. я подменяю адрес WinAPI GetCursorPos в памяти процесса на адрес МОЕЙ функции. а моя функция возвращает процессу вместо координат курсора 0. так вот, чем это чревато, помимо невозможности использования этой функции? могу и код дать, но он не на с++ ![]() |
Автор: dumb 14.7.2009, 15:00 |
хорошо, что хоть немного расписал, ибо тут не надо быть телепатом, чтобы понять, что проблема скорее всего не в возвращаемом результате, а в некорректности установки/работы хука. начнем с малого: на момент загрузки dll через appinit вовсе не факт, что user32.dll уже прогружена. ты это учел? |
Автор: renderrr 14.7.2009, 15:10 |
да, помимо GetCursorPos там хуки на: mouse_event, keyb_event, SetCursorPos, и они работают корректно(хуки), проблема возникла только с GetCursorPos, винда видимо активно эту функцию юзает |
Автор: dumb 14.7.2009, 15:33 |
ок, а ты пробовал не нулить результат? - просто чтобы сквозняком через хук проходило. |
Автор: renderrr 14.7.2009, 15:57 |
хм, извините, оказалось всё из-за моей невнимательности ![]() |