Saber si estoy conectado a VPN

31/12/2007 - 09:41 por Gonzalo Rodríguez Carrera | Informe spam
Hola a todos en este último día del año.
(Que tengais todos buena salida de 2007 y mejor entrada en 2008)

Mi problema es que tengo que conectarme por VPN y, bueno, esa parte
más o menos está, llamo al RASPHONE y el usuario solo debe pulsar
Conectar -si alguien sabe conectarse sin intervención del usuario, por
favor que me indique como-. El problema radica en que no tengo como
detectar si la conexión fue exitosa o, por cualquier razón rompió (o
el usuario pulsó el botón cancelar).

Además, la VPN no permite ping. Así que no se cómo comprobarlo...

El código que uso para conectarme es el siguiente:

public bool ConnectToVPN()
{
bool RV = false;
try
{
OnConnecting();

Process P = new Process();
P.StartInfo.Arguments = " -d " + _VPNConnectionName;
P.StartInfo.FileName = VPNPROCESS;
P.Start();
P.WaitForExit(Int32.MaxValue);

RV = TestConnection(); <-- Esta función hacía un ping, pero no
me sirve ya. Siempre false
OnIdle();
}
catch (Exception Ex)
{
Debug.Assert(false, Ex.ToString());
RV = false;
OnIdle();
}
return RV;
}

while(true) de gracias a todos y muy Feliz Año.

Preguntas similare

Leer las respuestas

#1 Gonzalo Rodríguez Carrera
31/12/2007 - 09:45 | Informe spam
Perdonar, VPNPROCESS es una constante que vale "C:\\WINDOWS\\system32\
asphone.exe"
... qué cabeza la mía... :P
Respuesta Responder a este mensaje
#2 Alberto Poblacion
31/12/2007 - 12:16 | Informe spam
"Gonzalo Rodríguez Carrera" wrote in message
news:
Mi problema es que tengo que conectarme por VPN y, bueno, esa parte
más o menos está, llamo al RASPHONE y el usuario solo debe pulsar
Conectar -si alguien sabe conectarse sin intervención del usuario, por
favor que me indique como-.



Podrías usar RASDIAL en lugar de RASPHONE. El RASDial sí que conecta sin
intervención del usuario, si le das bien todos los parámetros.

El problema radica en que no tengo como
detectar si la conexión fue exitosa o, por cualquier razón rompió (o
el usuario pulsó el botón cancelar).



Podrías usar Process.Start para lanzar el programa IPCONFIG, y capturar
su salida estándar. Como sale la lista de las conexiones, puedes buscar en
el string resultante a ver si está abierta la VPN que quieres.

Estoy seguro de que todo lo anterior se puede hacer también a través de
WMI (System.Management) si no quieres andar ejecutando procesos externos. Es
cuestión de investigar los servicios de WMI a ver cuál es el que te da las
conexiones de red.
Respuesta Responder a este mensaje
#3 Gonzalo Rodríguez Carrera
31/12/2007 - 12:39 | Informe spam
Pues la verdad es que no se me había ocurrido lo del IPCONFIG ...
¡muchísimas gracias Alberto!
También le echaré un vistazo a lo del WMI, que hoy como el dia es un
poquito de fiesta no hay tanta prisa en sacar las cosas...

Muchas gracias nuevamente y que tengas un feliz año.
Saludos desde Vigo -España-
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida