2010-05-10 22 views
22

¿Hay una API en .NET (C#) para usar dispositivos USB HID (interfaz humana)?.NET API for HID (USB)?

+0

pregunta Duplate: http://stackoverflow.com/questions/68749/working-with-usb-devices-in-net –

+1

No totalmente un duplicado - esta pregunta trata con HID (que supongo que significa HID "sin conductor"), por lo que las respuestas a la otra pregunta no se aplican todas a esta. – HanClinto

+0

No - HID en realidad significa todos los dispositivos existentes o aún no inventados con los que los humanos pueden interactuar o no interactuar demasiado. Deja que sea un sensor de temperatura o un botón o un colorímetro. Algunos datos, algunos fuera (cantidades bajas) – Robetto

Respuesta

1

Le sugiero que comience aquí: http://wiimotelib.codeplex.com/

+0

¿Por qué? ¿Una biblioteca de Nintendo Wiimote? – jco

+2

Porque el Wiimote es un dispositivo HID bajo Windows, y ese proyecto codeplex tiene todo el trabajo p/Invoke necesario para comunicarse con un dispositivo HID del CLR hecho para usted en la clase HDImports – squig

+0

Esto no responde la pregunta. –

3

No hay nada directo o de alto nivel. Hay algunas cosas que puede hacer a través de la API de WMI administrada, pero personalmente encontré mucha interacción de WMI con el hardware para ser críptico en el mejor de los casos y requiriendo mucho ensayo y error para lograr que haga lo que desea. Alguien en CodeProject ha desarrollado un .NET component for USB HDI, puedes probar que probablemente se ajuste a la factura mejor que WMI.

2

Yo sugeriría que sigas this example en su lugar. Fue invaluable para ponerme en funcionamiento con HiD dev en C#.

10

HidLibrary concluye todas las llamadas de P/Invoke para usted. Pero no, no parece que haya buenas API de marco para tratar con dispositivos USB.

+4

+1 para HidLibrary; Estaba empezando a seguir el camino de rodar mi propia libreta contenedora de C# para Kernal32 y HIDDlls. HidLibrary ya ha hecho el trabajo duro (principalmente) y proporciona una API limpia y simple. Me levanté y corrí increíblemente rápido (como, minutos). Y puedes instalarlo con nuget, lo cual es bueno. Hay otras librerías de contenedor C# hid.dll, pero nada tan limpio como el que he visto. – ptrandem

+0

Esa biblioteca ya no es compatible. – tarabyte

1

intente buscar en esto: Simple HID Library. La página principal tiene una lista de otras bibliotecas de código abierto.

+0

Es muy inestable, especialmente en Win7 –

3

Here's mina little lib para tratar con HID. Puede ser útil, especialmente cuando intenta comunicarse con informes de HID en bruto. También tengo included una demostración simple de cómo usarlo.

Cuestiones relacionadas