Каков самый простой способ проверить, доступно ли интернет-соединение программно?
EDIT: Как я предложил, я попытался использовать следующий метод, но он всегда возвращает 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();
}
}
Дополнительная информация (если это помогает): я получаю доступ к интернету через общую сеть Wi-Fi.