sprawdź, czy połączenie internetowe jest dostępne z C #

Jak najłatwiej sprawdzić, czy połączenie internetowe jest dostępne programowo?

EDYCJA: Jak zasugerowałem, spróbowałem za pomocą następującej metody, ale zawsze powraca prawdą.

[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();
}
}

Dodatkowe informacje (jeśli to pomaga): mam dostęp do Internetu przez wspólną sieć Wi-Fi.

questionAnswers(9)

yourAnswerToTheQuestion