Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GetCursorPos hook 
V
    Опции темы
renderrr
Дата 14.7.2009, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.6.2009

Репутация: нет
Всего: нет



хочу поставить глобальный хук на GetCursorPos, дабы он всегда возвращал 0. чем это чревато для простых пользователей? у себя пока заметил невозможность загрузить explorer, regedit, taskmgr. зачем им эта функция?
PM MAIL   Вверх
dumb
Дата 14.7.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 27
Всего: 158



PM MAIL   Вверх
renderrr
Дата 14.7.2009, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.6.2009

Репутация: нет
Всего: нет



не нужны тут телепаты smile я же спросил, что будет, если GetCursorPos всегда будет возвращать 0? и зачем эта функция, например, в таск менеджере винды?


хотя, если хотите, обьясню:
 я написал дллку, которая прописана в HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs, таким образом она инжетится во все запускаемые процессы. в дллке есть мною написаные функции. я подменяю адрес WinAPI GetCursorPos в памяти процесса на адрес МОЕЙ функции. а моя функция возвращает процессу вместо координат курсора 0. так вот, чем это чревато, помимо невозможности использования этой функции?
могу и код дать, но он не на с++ smile

Это сообщение отредактировал(а) renderrr - 14.7.2009, 14:50
PM MAIL   Вверх
dumb
Дата 14.7.2009, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 27
Всего: 158



хорошо, что хоть немного расписал, ибо тут не надо быть телепатом, чтобы понять, что проблема скорее всего не в возвращаемом результате, а в некорректности установки/работы хука.
начнем с малого: на момент загрузки dll через appinit вовсе не факт, что user32.dll уже прогружена. ты это учел?
PM MAIL   Вверх
renderrr
Дата 14.7.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.6.2009

Репутация: нет
Всего: нет



да, помимо GetCursorPos там хуки на: mouse_event, keyb_event, SetCursorPos, и они работают корректно(хуки), проблема возникла только с GetCursorPos, винда видимо активно эту функцию юзает
PM MAIL   Вверх
dumb
Дата 14.7.2009, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 27
Всего: 158



ок, а ты пробовал не нулить результат? - просто чтобы сквозняком через хук проходило.
PM MAIL   Вверх
renderrr
Дата 14.7.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 25.6.2009

Репутация: нет
Всего: нет



хм, извините, оказалось всё из-за моей невнимательности smile - забыл в свою функцию добавить параметр.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0698 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.