Date Image Friday, January 1, 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

Etiketler :