La Web del Programador: Comunidad de Programadores
 
    Pregunta:  904 - COMUNICACIONES VB6
Autor:  Fco. Javier Garcia
Estoy desarrollando un programa de llamadas para que los usuarios de la red puedan llamar pulsando un boton. En dicha red hay usuarios que tienen y otros que no tienen modem. Como puedo desde mi proyecto de V.B. 6.0 saber que el ordenador tiene o no tiene modem, y si lo tiene en que puerto está conectado para establecer en el control MSCOMM el comport apropiado

  Respuesta:  Claudio Jesus Garcia Jara
Creo que lo mas conveniente sería configurar las maquinas que no tienen modem, de manera que las que tienen modem lo comparten y las que no capturen el modem en el com2, de esta manera el software que realices los preparas para configurar al puerto que vayamos a atakar com1 o com2 etc segun convenga
El problema lo puedes tener para que otros equipos compartan el modem, pero existe software que lo realiza tanto en un servidor nt como en el windows 9X, en www.download.com podras encontrar programas de este tipo.

Esperando que te sirva de ayuda, recibe un saludo.


  Respuesta:  Dante Salazar
Suponiendo que la aplicación va a estar residente en la PC de cada usuario, el método más sencillo es enviar un comando AT por cada puerto y esperar unos milisegundos a que el modem responda "OK". Si no lo hace, puedes concluir que no existe un módem en ese puerto y avanzas al siguiente puerto, para hacer lo mismo.

Debes tener algunas cosas presente, una de ellas es verificar que el propio puerto exista. Puedes hacerlo atrapando el error que se generaría al intentar abrir un puerto que no exista. Lo otro es que es que es posible que el módem esté presente pero no responda OK, porque haya sido instruído para no hacerlo, para evitar esto debes inicializarlo correctamente. Si necesitas ayuda con los comandos AT, solicítamelo por e-mail

La otra forma más sofisticada de detectar el módem es consultando la configuración TAPI, disponible a partir de Windows95, pero yo nunca lo he intentado. Casi todas las aplicaciones usan el primer método.