在日常开发中,我们可能遇到一些问题,需要判断电脑是否接入网络,从而来判断是否执行程序。

在接入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内的代码的。

最后修改:2022 年 03 月 11 日
如果觉得我的文章对你有用,请随意赞赏