verifique se a conexão com a Internet está disponível com c #

Qual é a maneira mais fácil de verificar se a conexão com a Internet está disponível de forma programática?

EDIT: Como sugerido, tentei usar o seguinte método, mas está sempre retornando verdadeiro.

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

Informações adicionais (se ajudar): acesso a internet através de uma rede wifi compartilhada.

questionAnswers(9)

yourAnswerToTheQuestion