Detección de puertos

Más
14 años 7 meses antes #417 por aguillen
Hola, estoy intentando desarrollar un módulo que detecte los puertos de comunicación registrados (serie y USB ) en cualquier Pc

Algo tan sencillo como consultar HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM se me complica al trabajar con portátiles ya que en esta subclave se registran otros puertos a los que al acceder se cuelga la aplicación, además cada portátil muestra información completamente diferente (AgereModem, Winachsf0,...)

Además dependiendo del SO se registran de una forma u otra (trabajo con Xp, W98 y Win2k)

En la guía regedit se comenta que la rama "DEVICEMAP" contine punteros a diferentes zonas del registro

¿Donde podría encontrar información de como acceder a esos punteros para saber cuando los diferentes valores incluidos en SERIALCOMM apuntan realmente a un puerto serie o usb y no otra cosa?

Muchas gracias
Albert

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
14 años 7 meses antes #418 por admin
Respuesta de admin sobre el tema Detección de puertos
Hola!
Gracias por utilizar nuestro foro para hacer tus consultas, si te soy sincero no termino de entender bien tu pregunta, los dispositivos USB deberían aparecer enumerados como /Device/USBSER000 y los disposititvos a puerto com, o puertos paralelos como: /Device/Serial0

También puedes obtener info adicional porque los dispostivios a puerto USB aparecen todos enumerados en:

HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Enum > USB

Como normal general el puntero en el que se encuentran registros los diferentes dispositivos que aparecen en esta rama se referencian también en la clave:

HKLM < SYSTEM < CurrentControlSet< Services

tienes información adicional y bastante completa en este artículo de la kb.

support.microsoft.com/kb/Q102988

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
14 años 7 meses antes #423 por aguillen
Respuesta de aguillen sobre el tema Detección de puertos
Hola y perdona si mi pregunta fue poco clara

Mi problema está que cuando consulto la clave HKLM/HARDWARE/DEVICEMAP/SERIALCOMM en Pc's portátiles además de aparecerme

/Device/Serial<n>
/Device/VCP<n> --> Conversor USB <-> Serial

me suelen aparecen otros valores como
/Device/AgereModem5
/Winachsf0
/Device/Oxser<n>
...

Me interesaba saber si desde estos valores del registro existe algún puntero para acceder de forma directa a otra clave del registro y saber cuales de estos puertos están disponibles para que mi aplicación los use como puertos de comunicaciones

Espero haber aclarado un poco más mi consulta. De todas formas miraré en las otras claves que me has indicado

Gracias

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

  • fermu
  • Invitado
  • Invitado
14 años 7 meses antes #426 por fermu
Respuesta de fermu sobre el tema Detección de puertos
Perdona la tardanza en contestar... hay que ver!! el webmaster no se aplica en sus propios foros, eh? :P

Creo que he entendido tu pregunta, y creo que puedes hacer eso sin cacharrear en el registro con devcon, a ver si te sirve.... échale un vistazo.
**/The DevCon command-line utility functions as an alternative to Device Manager
support.microsoft.com/?kbid=311272

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Más
14 años 7 meses antes #438 por aguillen
Respuesta de aguillen sobre el tema Detección de puertos
Se te disculpa la tardanza, yo tampoco soy un proverbio de puntualidad

Lo del DevCon no me sirve ya que no se puede usar en w98 y además no se puede distribuir

No obstante tu primera respuesta me ayudó mucho ya que ahora consulto

HKLM/HardWare/DeviceMap/SerialComm

y por otro lado busco puertos registrados (Class = Ports) en
HKLM/System/CurrentControlSet/Enum (Xp, W2k)
o
HKLM/Enum (w98)

Comparo los resultados y me quedo con los que aparecen en ambas consultas

Pensaba que sería muy lento pero va bastante rápido

El problema es que ahora hay otras cosas más urgentes y lo tengo que dejar a medias

Si consigo la solución final te lo haré saber

Gracias por tu ayuda

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Tiempo de carga de la página: 0.327 segundos
Gracias a Foro Kunena