Определите, какую мышь щелкнули (несколько устройств мыши) в .NET.

Я хочу обнаружить, когда нажата сенсорная панель!

Обычно я использую мышь usb, поэтому я не использую тачпад для чего-либо. Вместо этого я хотел бы сделать возможным выполнение действия в .NET, когда сенсорная панель нажата. Таким образом, я могу использовать его как ярлык: один кран и что-то классное происходит.

Возможно ли это, и если да, то каким образом? Я бы предпочел, чтобы он работал в VB.NET или С#.

Моя теория заключается в том, что мне нужно будет сделать mousehook, который затем каким-то образом определяет, из какого устройства происходит щелчок. Если щелчок определяется из сенсорной панели, отмените клик и сделайте все().

Спасибо!

* РЕДАКТИРОВАТЬ * Ну, это "решило", вроде:) В странном совпадении Synaptics выпустили свой последний драйвер и программное обеспечение для своих сенсорных панелей несколько дней назад с некоторыми новыми функциями. Поскольку у моего ноутбука есть сенсорная панель synaptics, я опробовал программное обеспечение и, что интересно, функциональность для обозначения кликов на трекпаде для выполнения действия была встроена.

Итак, желаемая функция была достигнута без строки кода (мой собственный код в любом случае:).

Ответ идет на Адриана, хотя для ссылки на библиотеку RawInputSharp. Я вчера возился с ним, и я на 90% уверен, что это можно будет использовать для этой цели, если ноутбук не имеет трекпада synaptics.

Ответ 1

Посмотрите на библиотеку RawInputSharp с эту страницу. Он использует pInvokes в User32.dll, чтобы получить информацию о входных устройствах. Используя его, вы можете определить, из какого устройства (т.е. Мыши) поступает вход.

Немного поиграв с этим, мне удалось извлечь код, который отображает только идентификатор устройства - другое значение в зависимости от того, использую ли я свою USB-мышь или мой внутренний тачпад. Трудным было бы определить, какой идентификатор устройства используется для вашего сенсорного планшета автоматически, но вы можете вручную настроить его в своем приложении.