[DllImport("wininet.dll", SetLastError=true)]
        private static extern bool InternetGetConnectedState(ref UInt32 Flags,
UInt32 Reserved);        private void buttonStartMonitor_Click(object sender, System.EventArgs e)
        {
            UInt32 Flags = new UInt32();
            IsConnecting = InternetGetConnectedState(ref Flags,0);
            timer1.Interval = 100;
            timer1.Start();
        }        private void timer1_Tick(object sender, System.EventArgs e)
        {
            UInt32 Flags = new UInt32();
            if(IsConnecting != InternetGetConnectedState(ref Flags,0))
            {
                IsConnecting = InternetGetConnectedState(ref Flags,0);
                //Perform your process here
            }
        }