Определите, какую мышь щелкнули (несколько устройств мыши) в .NET.
Я хочу обнаружить, когда нажата сенсорная панель!
Обычно я использую мышь usb, поэтому я не использую тачпад для чего-либо. Вместо этого я хотел бы сделать возможным выполнение действия в .NET, когда сенсорная панель нажата. Таким образом, я могу использовать его как ярлык: один кран и что-то классное происходит.
Возможно ли это, и если да, то каким образом? Я бы предпочел, чтобы он работал в VB.NET или С#.
Моя теория заключается в том, что мне нужно будет сделать mousehook, который затем каким-то образом определяет, из какого устройства происходит щелчок. Если щелчок определяется из сенсорной панели, отмените клик и сделайте все().
Спасибо!
* РЕДАКТИРОВАТЬ *
Ну, это "решило", вроде:) В странном совпадении Synaptics выпустили свой последний драйвер и программное обеспечение для своих сенсорных панелей несколько дней назад с некоторыми новыми функциями. Поскольку у моего ноутбука есть сенсорная панель synaptics, я опробовал программное обеспечение и, что интересно, функциональность для обозначения кликов на трекпаде для выполнения действия была встроена.
Итак, желаемая функция была достигнута без строки кода (мой собственный код в любом случае:).
Ответ идет на Адриана, хотя для ссылки на библиотеку RawInputSharp. Я вчера возился с ним, и я на 90% уверен, что это можно будет использовать для этой цели, если ноутбук не имеет трекпада synaptics.
Ответы
Ответ 1
Посмотрите на библиотеку RawInputSharp с эту страницу. Он использует pInvokes в User32.dll
, чтобы получить информацию о входных устройствах. Используя его, вы можете определить, из какого устройства (т.е. Мыши) поступает вход.
Немного поиграв с этим, мне удалось извлечь код, который отображает только идентификатор устройства - другое значение в зависимости от того, использую ли я свою USB-мышь или мой внутренний тачпад. Трудным было бы определить, какой идентификатор устройства используется для вашего сенсорного планшета автоматически, но вы можете вручную настроить его в своем приложении.