O>>>>Теоретически: пишем сервис, который открывает HID девайс тачскрина, шлет ему IOCTL_HID_ENABLE_SECURE_READ (сервис должен иметь привилегию SeTcbPrivilege) и дальнейший инпут выгребает тока наш сервис, посылая девайсу IOCTL_HID_GET_INPUT_REPORT. Мышь ограничиваем ужным дисплеем, а апликуха на другом дисплее общается с нашим сервисом и получает инпут исключительно от него.
MBG>>>Спасибо за совет, но вызов DeviceIoControl() c IOCTL_HID_ENABLE_SECURE_READ фэйлится — GetLastError() возвращает 1 (Incorrect function). В чем может быть причина? Сервис стартует с правами LocalSystem, привилегия SeTcbPrivilege устанавливается.
MBG>>Сорри, это я ступил — открывал USB HID мышь. Теперь открываю тач (реального устройства под рукой нет, использую виртуальный из MutliTouch Vista) : посылка IOCTL_HID_GET_INPUT_REPORT (и HidD_GetInputReport()) фейлится с ERROR_CRC.
MBG>Апдейт: Если запустить консоль драйвера (Multitouch.Driver.Console.exe) то девайс не открывается (ERROR_SHARING_VIOLATION).
Ну что я могу сказать — именно эти контролы вызывает виндовые приложения, которые тачпадом заведуют. Я их ковырял както по служебной необходимости.
У микрософта есть пример —
http://code.msdn.microsoft.com/windowshardware/HClient-HID-Sample-4ec99697 — он тоже не работает чтоли?