| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Перехват движения мыши, подключенной к заданному п |
| Автор: Mixasik 24.12.2008, 18:33 |
| Добрый вечер... Вот возникла нужда сделать один маневр Допустим у меня к компу подключено 2 мыши, как известно, они обе буду перемещать указатель по экрану... Мне нужно, чтобы одна из этих мышей двигалась, но указатель не перемещался по экрану, а просто постоянно координаты мыши записывались в заданный файл... То есть только 1 мышка будет использоваться для управления компом, а изменение положения второй не должно влиять на перемещение курсора... Подскажите как это реализовать и в какую сторону копать? В моем распоряжении есть знания Delphi, ну на крайний случай си... Вся проблема в том, что мыши две должно быть, нормальная и та с которой просто надо координаты считывать(( |
| Автор: ama_kid 24.12.2008, 23:58 |
| Думаю, копать в сторону драйвера-фильтра будет самым правильным... По практической стороне вопроса не подскажу, сам таким вопросом не задавался, но для начала можно посмотреть исходники драйвера http://cpnmouse.sourceforge.net/ |
| Автор: Mixasik 25.12.2008, 01:06 |
| У меня вот возникла идея(просто на драйвер мне сказали - "не стоит")... Как это проще сделать. Ставим глобальную ловушку на перемещение мыши, +... Допустим у нас 2 мыши на USB001 и USB002 итак, на 001 мышь которая должна выполнять свои основные функции - изменять положение курсора, а на 002 та которая просто должна передавать "свои координаты", и в итоге нам надо просто узнать какая мышь совершает движение, как мне кажется проверить,, что на порту 002 - если ничего значит первая мышь, итого 1 мышь совершает движение - пропускаем, если вторая просто пишем в файл координаты не двигая мышь? С учетом того что одновременно может тольео одна мышь совершать движение? Или все таки только драйвер? Отсюда вопрос: Как узнать какая именно мышь совершает движение? Если по порту я верно предположил, то как считать с порта или проверить его? |
| Автор: Mixasik 27.12.2008, 18:39 |
| А что такое ринг ноль? Ну в глобальной ловушке мы узнаем какая мышка совершила движение так: Если есть данные на порту 002 - значит вторая, если нет - первая... Или я не так мыслю? И в инете видел компонент для Delphi для работы с usb портами - там вроде и драйвер шел. |
| Автор: ama_kid 27.12.2008, 20:34 |
| http://ru.wikipedia.org/wiki/Ring0. В данном случае я подразумевал - "из драйвера". А если мышка подключена к PS\2? К COM-порту? (сейчас уже практически не осталось таких вариантов, конечно, но все-таки...) |
| Автор: Mixasik 27.12.2008, 21:20 |
| Ну мышка будет точно подключена к USB... Проблема тут в в другом... А если использовать этот компонент? Вот качал http://rapidshare.com/files/30660299/dlpiusb.zip.html |
| Автор: ama_kid 28.12.2008, 11:25 |
| В составе данного компонента есть драйвер, так что вполне возможно, он и даст необходимую информацию (хотя я и сомневаюсь, но проверять лень). Попробуй, потом расскажешь |
| Автор: Mixasik 28.12.2008, 17:10 | ||
Драйвер установился нормально, но его не удается запустить, пишу net start FTD2XX в результате
Может под вистой не работает? |