/// <summary> /// Checks the internet connection state and updates the UI accordingly. /// </summary> public void CheckInetConnection() { int tmpflags = 0; if (InternetGetConnectedState(ref tmpflags, 0)) { InetConnState flags = (InetConnState)tmpflags; if ((flags & InetConnState.lan) == InetConnState.lan) { ConnectionStateString = "LAN"; lblConnectStatus.Image = ImageList1.Images[1]; } else if ((flags & InetConnState.modem) == InetConnState.modem) { ConnectionStateString = "Modem"; lblConnectStatus.Image = ImageList1.Images[1]; } else if ((flags & InetConnState.configured) == InetConnState.configured) { ConnectionStateString = "Configured"; lblConnectStatus.Image = ImageList1.Images[1]; } else if ((flags & InetConnState.proxy) == InetConnState.proxy) { ConnectionStateString = "Proxy"; lblConnectStatus.Image = ImageList1.Images[1]; } else if ((flags & InetConnState.ras) == InetConnState.ras) { ConnectionStateString = "RAS"; lblConnectStatus.Image = ImageList1.Images[1]; } else if ((flags & InetConnState.offline) == InetConnState.offline) { ConnectionStateString = "Offline"; this.lblConnectStatus.Image = ImageList1.Images[2]; } } else { ConnectionStateString = "Not Connected"; lblConnectStatus.Image = ImageList1.Images[3]; } }
/// <summary> /// Checks the internet connection state and updates the UI accordingly. /// </summary> public void CheckInetConnection() { int tmpflags = 0; if (InternetGetConnectedState(ref tmpflags, 0)) { InetConnState flags = (InetConnState)tmpflags; // True if ((flags & InetConnState.lan) == InetConnState.lan) { switch (_quality) { case "Good": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Intermittent": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Off": lblConnectStatus.ForeColor = Color.DarkOrange; lblConnectStatus.Text = "Connection Quality: Intermittent"; _quality = "Intermittent"; break; } this.Refresh(); } else if ((flags & InetConnState.modem) == InetConnState.modem) { switch (_quality) { case "Good": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Intermittent": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Off": lblConnectStatus.ForeColor = Color.DarkOrange; lblConnectStatus.Text = "Connection Quality: Intermittent"; _quality = "Intermittent"; break; } } else if ((flags & InetConnState.configured) == InetConnState.configured) { switch (_quality) { case "Good": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Intermittent": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Off": lblConnectStatus.ForeColor = Color.DarkOrange; lblConnectStatus.Text = "Connection Quality: Intermittent"; _quality = "Intermittent"; break; } } else if ((flags & InetConnState.proxy) == InetConnState.proxy) { switch (_quality) { case "Good": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Intermittent": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Off": lblConnectStatus.ForeColor = Color.DarkOrange; lblConnectStatus.Text = "Connection Quality: Intermittent"; _quality = "Intermittent"; break; } } else if ((flags & InetConnState.ras) == InetConnState.ras) { switch (_quality) { case "Good": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Intermittent": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Off": lblConnectStatus.ForeColor = Color.DarkOrange; lblConnectStatus.Text = "Connection Quality: Intermittent"; _quality = "Intermittent"; break; } } else if ((flags & InetConnState.offline) == InetConnState.offline) { switch (_quality) { case "Good": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Intermittent": lblConnectStatus.ForeColor = Color.Green; lblConnectStatus.Text = "Connection Quality: Good"; _quality = "Good"; break; case "Off": lblConnectStatus.ForeColor = Color.DarkOrange; lblConnectStatus.Text = "Connection Quality: Intermittent"; _quality = "Intermittent"; break; } } } else { // False switch (_quality) { case "Good": lblConnectStatus.ForeColor = Color.DarkOrange; lblConnectStatus.Text = "Connection Quality: Intermittent"; _quality = "Intermittent"; break; case "Intermittent": lblConnectStatus.ForeColor = Color.Red; lblConnectStatus.Text = "Connection Quality: Off"; _quality = "Off"; break; case "Off": lblConnectStatus.ForeColor = Color.Red; lblConnectStatus.Text = "Connection Quality: Off"; _quality = "Off"; break; } } }