Qual è il modo più semplice per verificare se la connessione Internet è disponibile in modo programmatico?verificare se la connessione Internet è disponibile con C#
MODIFICA: Come suggerito, ho provato a utilizzare il seguente metodo, ma restituisce sempre true.
[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();
}
}
Ulteriori informazioni (se aiuta): accesso a Internet su una rete Wi-Fi condivisa.
Non sono sicuro di quale API lo gestisca, ma in Windows Vista e in alto verifica effettivamente la connessione a Internet. Sono sicuro che queste informazioni sono esposte in un'API, quindi se stai cercando una soluzione che funzioni meglio con Vista e il prossimo Windows 7, questa è l'API che vorresti, se tu o qualcun altro riusciste a capire quale è. – jasonh
ne ho bisogno per funzionare con win 7 –
Modificato la domanda che incorpora i risultati della soluzione suggerita. Non sta funzionando per me, per favore aiuto. Grazie! –