Csharp/C Sharp by API/System.Net.NetworkInformation/NetworkChange
NetworkChange.NetworkAddressChanged
<source lang="csharp"> using System; using System.Net.NetworkInformation; class MainClass {
private static void NetworkAddressChanged(object sender, EventArgs e) { Console.WriteLine("Current IP Addresses:"); foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) { foreach (UnicastIPAddressInformation addr in ni.GetIPProperties().UnicastAddresses) { Console.WriteLine("{0}", addr.Address ); } } } public static void Main(string[] args) { NetworkChange.NetworkAddressChanged += NetworkAddressChanged; }
}
</source>
NetworkChange.NetworkAvailabilityChanged
<source lang="csharp"> using System; using System.Net.NetworkInformation; class MainClass {
private static void NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e) { if (e.IsAvailable) { Console.WriteLine("Network Available"); } else { Console.WriteLine("Network Unavailable"); } } static void Main(string[] args) { NetworkChange.NetworkAvailabilityChanged += NetworkAvailabilityChanged; }
}
</source>