在日常开发中,我们可能遇到一些问题,需要判断电脑是否接入网络,从而来判断是否执行程序。
在接入QQ头像API时,我发现,网络状态下,可以快速通过QQ号获取到QQ头像然后显示在窗体图像控件中。
但是网络断开的情况下,出现了一个问题,我们的API获取需要网络,而如果获取不到API的网站数据,他直接返回了一个错误,而且速度也变卡了,那么怎么防止这种情况呢?
接下来就是解决方法了,我们用系统提供的API来判断是否接入互联网。
调用系统API
//调用操作系统API [System.Runtime.InteropServices.DllImport("wininet")]
写判断方法
然后我们写一个方法,方便重复调用。
private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue); //判断是否有网络方法 private static bool IsNetWorkConnect() { int i = 0; return InternetGetConnectedState(out i, 0) ? true : false; }
当我们有网络时,返回一个true,无网络时,返回一个false。
示范
网络异常,图片无法展示
|
这里我们直接调用IsNetWorkConnect()
方法,直接放在if
里面如果没有网络,他是不会运行if
内的代码的。