У меня есть USB-камера (Dentamerica Cammy) (она НЕ идентифицирована как устройство HID) с кнопкой и приложением (по имени vixwin), которое должно реагировать на эту кнопку и делать снимок. Проблема в том, что она не реагирует. Драйвер устройства очень старый и больше не поддерживается производителем. Единственное приложение, которое реагирует, когда я нажимаю кнопку, является встроенной программой камеры с компакт-диска. Я попытался использовать wirehark для обнюхивания пакетов USB и посмотреть, что делает камера, когда я нажимаю кнопку. Когда я запускаю функцию «захвата» в приложении, он показывает окно с видеопотоком, после чего каждый раз, когда я нажимаю кнопку, камера генерирует передачу прерывания USB, поэтому приложение делает снимок. Камера не отправляет передачу прерываний USB на хост, когда поток видео не работает.Как перехватить USB-интерфейс из не-HID-устройства в Windows 7?
Итак, моя идея состояла в том, чтобы сделать простую службу Windows, которая может прослушивать трафик usb, и если он видит прерывание USB с камеры - он должен отправить горячую клавишу в приложение vixwin. (Vixwin также использует видеопоток с камеры, поэтому надеюсь, что он будет работать нормально).
Скажите, пожалуйста, как я могу сканировать трафик usb (в параллельном режиме, например, wirehark), не беря под свой контроль и не поймать передачу прерывания USB (надеюсь, используя C#)? Приведение аналогичного примера кода может быть идеальным. Или, может быть, вы можете посоветовать другое решение?
p.s. хост использует Windows 7 и не может быть обновлен до более высоких версий Windows.
Wireshark interrupt screenshot
Это очень утомительно читать. Можете ли вы добавить абзацы путем редактирования в пустых строках, чтобы текст был более логически структурирован, пожалуйста? –
Я не знаю, поможет ли это вам, но вы должны взглянуть на http://www.icsharpcode.net/OpenSource/SharpUSBLib/ –