¿Cuál es la forma más fácil de verificar si la conexión a Internet está disponible programáticamente?compruebe si la conexión a Internet está disponible con C#
EDIT: Como se sugirió intenté usar el siguiente método, pero siempre es verdadero.
[Flags]
enum InternetConnectionState : int
{
INTERNET_CONNECTION_MODEM = 0x1,
INTERNET_CONNECTION_LAN = 0x2,
INTERNET_CONNECTION_PROXY = 0x4,
INTERNET_RAS_INSTALLED = 0x10,
INTERNET_CONNECTION_OFFLINE = 0x20,
INTERNET_CONNECTION_CONFIGURED = 0x40
}
class Program
{
[DllImport("WININET", CharSet = CharSet.Auto)]
static extern bool InternetGetConnectedState(ref InternetConnectionState lpdwFlags, int dwReserved);
static void Main(string[] args)
{
InternetConnectionState flags = 0;
bool isConnected = InternetGetConnectedState(ref flags, 0);
Console.WriteLine(isConnected);
//Console.WriteLine(flags);
Console.ReadKey();
}
}
Información adicional (si ayuda): puedo acceder a Internet a través de una red Wi-Fi compartido.
No estoy seguro de qué API lo maneja, pero en Windows Vista y hasta realmente verifica su conexión a Internet. Estoy seguro de que esta información está expuesta en una API, por lo que si está buscando una solución que funcione mejor con Vista y la próxima versión de Windows 7, esa es la API que va a querer, si usted o alguien más puede resolverlo cuál es. – jasonh
lo necesito para trabajar con win 7 –
Edité la pregunta incorporando los resultados de la solución sugerida. No funciona para mí por favor ayuda. ¡Gracias! –