(转)判断计算机是否有网络链接
原文:http://topic.csdn.net/u/20081223/00/27301898-6c7c-4e4a-a70d-d4ac7f00886b.html
//先通过.Net提供的类库判断似乎否有网络连接
public static bool IsAnyNetworkAvailable()
{
try
{
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
if (ni.OperationalStatus == OperationalStatus.Up &&
ni.NetworkInterfaceType != NetworkInterfaceType.Loopback &&
ni.NetworkInterfaceType != NetworkInterfaceType.Tunnel)
{
IPInterfaceProperties iip = ni.GetIPProperties();
if (iip != null && iip.UnicastAddresses != null && iip.UnicastAddresses.Count > 0)
{
return true;
}
}
}
return false;
}
catch
{
//如果有异常,直接调用API判断
return IsInternetConnected();
}
}
[DllImport("wininet.dll")]
private static extern bool InternetGetConnectedState(out int connectionDescription, int reservedValue);
public static bool IsInternetConnected()
{
int i;
return InternetGetConnectedState(out i, 0);
}
没测试,留作备用的
浙公网安备 33010602011771号