2011-03-23 32 views
12

Tengo una aplicación (.Net Compact Framework 3.5) ejecutándose en un dispositivo Windows Mobile 6.1 y deseo detectar cuándo cambia la conexión USB (algo se conecta o desconecta).Detección de conexión USB - C# .Net CF 3.5

Originalmente estaba usando la propiedad SystemProperty.CradlePresent para desencadenar un evento, pero me pregunto si esto solo funciona si el dispositivo que se conecta tiene ActiveSync. Recibiré una conexión a través de USB desde un dispositivo Linux que no tiene ActiveSync ejecutándose en él.

¿Puedo seguir usando SystemProperty.CradlePresent para detectar la conexión/desconexión del USB? ¿O necesito explorar otras opciones para detectar el evento USB? Gracias.

+1

¿Está conectando un dispositivo Linux a un dispositivo WM6 a través de USB? USB tiene una arquitectura maestro/esclavo; 2 _devices_ no pueden comunicarse directamente, pero deben hacerlo a través de _host_. – MSalters

+0

El dispositivo WM6 solo está recibiendo datos del dispositivo Linux a través de una conexión de socket. Solo estoy tratando de determinar si puedo usar SystemProperty que mencioné anteriormente para detectar cuándo el dispositivo Linux está conectado a través de USB. –

+0

Estoy con MSalters. No parece que entiendas completamente el USB. Serás un esclavo. Si eso se convierte en algún tipo de socket, ¿debemos asumir que tienes un controlador que hará esto? ¿El conductor tiene alguna notificación? – ctacke

Respuesta

1

Compruebe this fuera, usted puede ser capaz de agarrar parte del código fuente. Está escrito en C# con una GUI. Tenga en cuenta que cada vez que ejecute un programa que esté buscando nuevas unidades USB, ocupará la memoria y la CPU, por lo que tal vez desee atenuar los intervalos en los que comprueba y luego proporcionar un botón de "actualización" para los usuarios impacientes.

+0

El método descrito en ese artículo utiliza controladores de eventos, no un método de votación. No debería ser una CPU o memoria intensiva. – Jon

Cuestiones relacionadas