原本我们可以使用应用接口支持库->网络通信中的是否与互联网连接 ()
来检测是否连上了网,但经过我的测试,在无网络情况下会卡顿很久后才会返回假;
在之前的HemsX版本中我曾使用过此命令,因此在一次偶然的断网调试中发现了此现象;
在HemsX启动后的自检程序中,如果没有联网,会造成加载程序卡在检测这行命令一段时间;
从而造成加载缓慢,所以我曾用线程的方法解决它,但现在不用了,通过InternetGetConnectedState
这条DLL命令,我们可以获取网卡的连接状态。
InternetGetConnectedState是一条取联网方式的命令,但在它的备注中我发现返回非零是在线也就是联网状态,而放回0则是离线也就是断网状态,而且无论是否联网,此条DLL命令都会非常迅速的返回状态,所以不用担心断网时会是否与互联网连接 ()会造成的缓慢情况。