Friday, January 01, 2010 | Kategoriler |
C#,
Tümü
Api Kullanarak İnternet Bağlantısı Var Mı Yok Mu Kontrol Etmek
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Bağlantı {0}",IsConnectedToInternet()?"Var":"Yok");
Console.ReadLine();
}
[DllImport("wininet.dll", SetLastError = true)]
extern static bool InternetGetConnectedState(out InternetGetConnectedStateFlags Description, int ReservedValue);
public static bool IsConnectedToInternet()
{
InternetGetConnectedStateFlags flags;
var ret = InternetGetConnectedState(out flags, 0);
return ret;
}
[Flags]
enum InternetGetConnectedStateFlags
{
INTERNET_CONNECTION_MODEM = 0x01,
INTERNET_CONNECTION_LAN = 0x02,
INTERNET_CONNECTION_PROXY = 0x04,
INTERNET_CONNECTION_RAS_INSTALLED = 0x10,
INTERNET_CONNECTION_OFFLINE = 0x20,
INTERNET_CONNECTION_CONFIGURED = 0x40
}
}
Aklıma gelen bir başka yol da, daha önceki bir yazımda bahsettiğim ,bir adrese ping atarak gelen cevaba göre bağlantının olup olmadığını tespit etmek. Ama çok sağlıklı olacağını sanmıyorum. Api kullanmak; bu iki yöntemden en ideal olanı.
Ref : pinvoke.net
