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.