С# и USB HID-устройства
Я ищу одну из двух вещей
1 - Рабочий пример кода с использованием библиотеки Florian от: http://www.florian-leitner.de/index.php/2007/08/03/hid-usb-driver-library/
Кажется, это одна из лучших (только???) библиотек С#/HID, но автор отправился в МВД, и я не могу заставить пример кода работать. Код, который у меня есть:
{
USBHIDDRIVER.USBInterface usb = new USBInterface(myvid,mypid);
if (usb.Connect())
MessageBox.Show("connection!");
else
MessageBox.Show("FAIL");
usb.enableUsbBufferEvent(new System.EventHandler(myEventCacher));
usb.startRead();
}
private void myEventCacher(object sender, EventArgs e)
{
string content = e.ToString();
MessageBox.Show(content);
}
Соединительная часть работает, но процесс события никогда не запускается. Поэтому я хотел бы знать, есть ли у кого-нибудь рабочий пример этого кода библиотеки при запуске обработчика событий.
2 - Если есть лучшая библиотека для обработки взаимодействия с С#/HID, я хотел бы услышать об этом.
Ответы
Ответ 1
Упомянутая вами библиотека теперь размещена в google, см. http://code.google.com/p/csharp-usb-hid-driver/
Возможно, это тоже полезно:
Ответ 2
В проекте Florian посмотрите TestFixture.cs. Это его unit test, но в нем вы увидите пример использования своего кода. Вам нужно будет отправить команду на свое устройство, прежде чем вы получите сообщение.
Я бы порекомендовал http://www.codeproject.com/KB/cs/USB_HID.aspx из приведенных выше ссылок. У меня также были проблемы с Флорианским водителем. Драйвер Code Project работал у меня. Если вы используете драйвер Code Project, есть небольшие изменения, которые вам нужно сделать, если вы используете проект Windows 7 x64. Они скрыты в разделе комментариев к странице.