Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перехват движения мыши, подключенной к заданному п 
:(
    Опции темы
Mixasik
Дата 24.12.2008, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


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

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



Добрый вечер... Вот возникла нужда сделать один маневр  Допустим у меня к компу подключено 2 мыши, как известно, они обе буду перемещать указатель по экрану... Мне нужно, чтобы одна из этих мышей двигалась, но указатель не перемещался по экрану, а просто постоянно координаты мыши записывались в заданный файл... То есть только 1 мышка будет использоваться для управления компом, а изменение положения второй не должно влиять на перемещение курсора... Подскажите как это реализовать и в какую сторону копать? В моем распоряжении есть знания Delphi, ну на крайний случай си...
Вся проблема в том, что мыши две должно быть, нормальная и та с которой просто надо координаты считывать((
PM MAIL ICQ   Вверх
ama_kid
Дата 24.12.2008, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

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



Цитата(Mixasik @  24.12.2008,  19:33 Найти цитируемый пост)
в какую сторону копать?
Думаю, копать в сторону драйвера-фильтра будет самым правильным... По практической стороне вопроса не подскажу, сам таким вопросом не задавался, но для начала можно посмотреть исходники драйвера CPNMouse - Multiple Mice in Windows



--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Mixasik
Дата 25.12.2008, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


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

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



У меня вот возникла идея(просто на драйвер мне сказали - "не стоит")... Как это проще сделать. Ставим глобальную ловушку на перемещение мыши, +... Допустим у нас 2 мыши на USB001 и USB002 итак, на 001 мышь которая должна выполнять свои основные функции - изменять положение курсора, а на 002 та которая просто должна передавать "свои координаты", и в итоге нам надо просто узнать какая мышь совершает движение, как мне кажется проверить,, что на порту 002 - если ничего значит первая мышь, итого 1 мышь совершает движение - пропускаем, если вторая просто пишем в файл координаты не двигая мышь? С учетом того что одновременно может тольео одна мышь совершать движение? Или все таки только драйвер? Отсюда вопрос: Как узнать какая именно мышь совершает движение? Если по порту я верно предположил, то как считать с порта или проверить его?

Это сообщение отредактировал(а) Mixasik - 25.12.2008, 01:08
PM MAIL ICQ   Вверх
ama_kid
Дата 27.12.2008, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

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



Цитата(Mixasik @  25.12.2008,  02:06 Найти цитируемый пост)
Ставим глобальную ловушку на перемещение мыши
В глобальном перехватчике, устанавливаемом через штатные средства операционной системы, нет информации о том, какая мышка послала сообщение.
Цитата(Mixasik @  25.12.2008,  02:06 Найти цитируемый пост)
как мне кажется проверить,, что на порту 002 - если ничего значит первая мышь
Работа с портами в Windows доступна только из ring0  smile 



--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Mixasik
Дата 27.12.2008, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


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

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



А что такое ринг ноль? Ну в глобальной ловушке мы узнаем какая мышка совершила движение так: Если есть данные на порту 002 - значит вторая, если нет - первая... Или я не так мыслю?

И в инете видел компонент для Delphi для работы с usb портами - там вроде и драйвер шел.

Это сообщение отредактировал(а) Mixasik - 27.12.2008, 18:57
PM MAIL ICQ   Вверх
ama_kid
Дата 27.12.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

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



Цитата(Mixasik @  27.12.2008,  19:39 Найти цитируемый пост)
А что такое ринг ноль?
Ring0. В данном случае я подразумевал - "из драйвера".
Цитата(Mixasik @  27.12.2008,  19:39 Найти цитируемый пост)
И в инете видел компонент для Delphi для работы с usb портами - там вроде и драйвер шел
А если мышка подключена к PS\2? К COM-порту? (сейчас уже практически не осталось таких вариантов, конечно, но все-таки...)


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Mixasik
Дата 27.12.2008, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


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

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



Ну мышка будет точно подключена к USB... Проблема тут в в другом... А если использовать этот компонент? Вот качал отсюда.
PM MAIL ICQ   Вверх
ama_kid
Дата 28.12.2008, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

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



Цитата(Mixasik @  27.12.2008,  22:20 Найти цитируемый пост)
А если использовать этот компонент?
В составе данного компонента есть драйвер, так что вполне возможно, он и даст необходимую информацию (хотя я и сомневаюсь, но проверять лень). Попробуй, потом расскажешь smile


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Mixasik
Дата 28.12.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Little Delphi monstr
*


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

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



Драйвер установился нормально, но его не удается запустить, пишу net start FTD2XX в результате
Код

Системная ошибка 1058.

Указанная служба не может быть запущена, поскольку она отключена или все связанные с ней устройства отключены.

Может под вистой не работает?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

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


 




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


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

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