Esto es lo que actualmente estoy usando (mi idea, no una API):
System.Diagnostics;
void InternetConnection(string str)
{
ProcessStartInfo internet = new ProcessStartInfo()
{
FileName = "cmd.exe",
Arguments = "/C ipconfig /" + str,
WindowStyle = ProcessWindowStyle.Hidden
};
Process.Start(internet);
}
Desconectar de internet:InternetConnection("release");
Conectarse a Internet:InternetConnection("renew");
Desconexión se acaba elimine el acceso a internet (mostrará un ícono de precaución en el ícono de wifi). La conexión puede demorar cinco segundos o más.
Fuera de tema:
En ningún caso es posible que desee comprobar si está conectado o no (cuando se utiliza el código anterior), es mejor que sugiero esto:
System.Net.NetworkInformation;
public static bool CheckInternetConnection()
{
try
{
Ping myPing = new Ping();
String host = "google.com";
byte[] buffer = new byte[32];
int timeout = 1000;
PingOptions pingOptions = new PingOptions();
PingReply reply = myPing.Send(host, timeout, buffer, pingOptions);
return (reply.Status == IPStatus.Success);
}
catch (Exception)
{
return false;
}
}
"teniendo en cuenta la productividad a dispararse" .... que es la productividad? Claro, pierdo mucho tiempo revisando los intarwebs, pero sin acceso alguno, no puedo buscar referencias críticas para el idioma, la biblioteca o los marcos. – SingleNegationElimination
Tuvimos nuestra conexión caída durante aproximadamente una hora hoy, y realmente estaba en un aprieto. Sin acceso al sitio del cliente para una actualización, y sin acceso a ningún material de referencia. Si descubre que está distraído por el acceso fácil a Internet demasiado, intente dividir sus tareas en subtareas más pequeñas. Básicamente use el método "Getting Things Done" de David Allen. Si tiene una lista de pequeños pasos incrementales que impulsarán el trabajo hacia adelante, realmente ayuda con la motivación. –
El "teniendo en cuenta la productividad a dispararse" comentario se supone que es una broma chicos :) – sundeep