получить инфу о мышке без создания драйвера - реально?
От: opexxx  
Дата: 01.04.08 14:46
Оценка:
задача такая — из мышки вытащили шарик, к одному ролику прицепили девайс.
в общем случае мышка может быть разная — ps/2, com, usb.
можно ли без написания своего драйвера получить информацию о направлении и частоте вращения ролика?
судя по найденной мной информации о хуках, я могу получить информацию только об экранном курсоре, это совсем не то.

ps winxp, win2000
Re: получить инфу о мышке без создания драйвера - реально?
От: Аноним  
Дата: 01.04.08 15:09
Оценка: 2 (1)
O>задача такая — из мышки вытащили шарик, к одному ролику прицепили девайс.
O>в общем случае мышка может быть разная — ps/2, com, usb.
O>можно ли без написания своего драйвера получить информацию о направлении и частоте вращения ролика?

Для режима пользователя — посмотрите в сторону функции RegisterRawInputDevices() и сообщения WM_INPUT.
Для режиме ядра — посмотрите запрос IOCTL_INTERNAL_MOUSE_CONNECT и далее по ссылкам.
Re: получить инфу о мышке без создания драйвера - реально?
От: Mr.Cat  
Дата: 01.04.08 18:50
Оценка:
Здравствуйте, opexxx, Вы писали:
O>можно ли без написания своего драйвера получить информацию о направлении и частоте вращения ролика?

Насколько я знаком с обычными мышками — это вообще невозможно в том виде, в котором Вы это хотите сделать. Мышки (по крайней мере — шарообразные мышки в вакууме) "шлют" не всякие там частоты вращения, а некие целочисленные "перемещения" по осям. Так что частоты вращения роликов в любом случае придется вычислять для данного конкретного грызуна на основании именно этих перемещений.

Доступна ли низкоуровневая информация о мышах из юзерспейса — я никогда не задумывался, однако написать мышиный фильтр для Вашей задачи — проще простого. В WDK есть заготовка для такого драйвера — называемая moufiltr (в комплекте даже есть inf-файл для установки). Вам останется лишь вписать код, реализующий основную функциональность, а также передачу данных программе или сохранение этих данных куда-либо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.