prabhav01_singh Ответов: 3

Как обращаться с двумя мышами отдельно в C#


Я хочу обрабатывать события щелчка двух мышей в C#.

[no name]

С какой стати тебе вообще это нужно?

ZurdoDev

Нужно ли что-то делать в зависимости от того, какая это мышь? Вам не нужно кодировать для этого. Щелчки и движения мыши будут регистрироваться как обычные.

Ed Nutting

Правка: не кричите-это раздражает и грубо.

Кроме того, это требование кода/ответа, а не вопрос. Вопрос объясняет проблему, говорит о том, что вы уже пробовали, показывает, что некоторые усилия были приложены для ее решения, а затем задает конкретный и ясный вопрос и, наконец, имеет знак вопроса. Ваш пост терпит неудачу во всем этом, следовательно,это требование. Пожалуйста, обновите свой вопрос, чтобы исправить эту проблему, тогда кто-то может помочь.

Эд

Philippe Mori

Хотя, как правило, это не имеет большого смысла, это несколько интересный вопрос...

3 Ответов

Рейтинг:
22

Dave Kreskowiak

Вы не. По крайней мере, со стандартными драйверами мыши Windows не обрабатывает несколько мышей, поэтому ваше приложение тоже не может этого сделать.

Вы можете подключить несколько мышей к машине, но у вас есть только один указатель мыши. Если вы переместите обе мыши, они будут "бороться" за контроль над указателем мыши.

Единственный способ получить несколько указателей мыши - это использовать драйверы мыши, специально написанные для этой цели. Например, CPNMouse[^].


Рейтинг:
2

petersvp

Начиная С Windows Vista:

C++ & RawInput!

Пример плагина Unity:

C++ DLL: http://pastebin.com/0Szi8ga6
Скрипт C# для Unity: http://pastebin.com/4h3CqpYy

Проверить это. Вы должны быть в состоянии, по крайней мере, понять, что делает часть C++ и как она взаимодействует со скриптом C# через P/Invoke.


Рейтинг:
1

robbie66

Microsoft Mouse Mischief SDK, бесплатный драйвер мульти-мыши, реализованный в качестве надстройки для PowerPoint, может пролить некоторый свет на эту тему. Похоже, что MS выяснила, как извлечь идентификатор устройства HW для каждой мыши и отслеживать их отдельно. Я знаю, что несколько других групп (компаний) также выяснили, как это сделать для своих программных приложений. Но я сам еще не разработал код. Быстрый взгляд на MS SDK показывает, что они используют информацию о USB-порте, связанную с HW, а не информацию о переносимом устройстве, которая в любом случае может быть недоступна.