Sometimes you want to check if the network is up in your application, there is a built-in function for that : NetworkInterface.GetIsNetworkAvailable()
the problem with GetIsNetworkAvailable is that it incorrectly always report TRUE if a loopback adapter is present. It also report TRUE if a “VirtualBox Host-Only Network” adapter is present.
So I have written the following function in Visual Basic (vb) to replace GetIsNetworkAvailable :
Function IsNetworkAvailable() As Boolean IsNetworkAvailable = False Dim AllAdapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces() Dim Adapter As NetworkInterface For Each Adapter In AllAdapters If Adapter.OperationalStatus = OperationalStatus.Up And Adapter.NetworkInterfaceType <> NetworkInterfaceType.Loopback And _ Adapter.NetworkInterfaceType <> NetworkInterfaceType.Tunnel And _ Not Adapter.Name.Contains("LoopBack") And _ Not Adapter.Name.Contains("VirtualBox Host-Only Network") Then IsNetworkAvailable = True End If Next End Function