易语言调用API(InternetCheckConnectionA) 检查远程主机状态,判断网络连接的状态,也就是检测计算机是否联网,Win32 Internet(WinInet) 函数 InternetCheckConnection来实现;这个函数的功能是检查是否能够建立 Internet 连接,有可以用来检测网址是否存在,判断是否接通外网,如果采用HTTP读网址,会太慢。 当目标地址不可用时,这个函数返回会比较慢,注意不要在UI线程中使用。这个函数会解析出URL中的host地址,然后建立socket连接去ping这个地址。
InternetCheckConnectionA和InternetAttemptConnect都是wininet.dll里的两个函数。
InternetCheckConnectionA是尝试进行网络连接,这个函数可以说非常简单,只是尝试计算机连接到网络。并不考虑是用什么方式连接。当成功连接到网络的时候,函数返回ERROR_SUCCESS,也就是0。函数的参数永远都是0
InetIsOffline是url.dll的一个函数,用来判断是否连接上国际英特网。
InternetCheckConnectionA
BOOL InternetCheckConnection( LPCTSTR lpszUrl, //是一个指向url字符串的指针,就是你要检测的链接,这个值是可以为空的。 DWORD dwFlags, //根据lpszUrl的值操作,空与非空有区别。 DWORD dwReserved //是保留字,设置为0。 );
易语言
.版本 2
.DLL命令 检查Internet连接_, 整数型, "wininet.dll", "InternetCheckConnectionA"
.参数 Url地址, 文本型, , lpszUrl
.参数 标志, 整数型, , dwFlags
.参数 返回值, 整数型, , dwReserved
调用
.版本 2 .支持库 spec .子程序 _按钮_测试_被单击 .判断开始 (检查Internet连接_ (“http://www.baidu.com”, 1, 0) = 0) 调试输出 (“连接到 http://www.baidu.com失败”) .默认 调试输出 (“连接到 http://www.baidu.com成功”
InternetAttemptConnect
.版本 2 .DLL命令 尝试Internet连接_, 整数型, "wininet.dll", "InternetAttemptConnect" .参数 返回值, 整数型, , dwReserved
调用判断
.版本 2 .子程序 _按钮_测试_被单击 .判断开始 (尝试Internet连接_ (0) = 0) 编辑框_运行结果.内容 = “连接互联网成功” .默认 编辑框_运行结果.内容 = “连接互联网失败” .判断结束
InetIsOffline
它只有一个参数,必须填0,MSDN指出,这个函数取得的结果不太准确。
.版本 2
.DLL命令 是否连接因特网_, 整数型, "url.dll", "InetIsOffline"
.参数 标志值, 整数型, , dwFlags,默认值为0
调用测试
.版本 2 .子程序 _按钮_测试_被单击, , , .判断开始 (是否连接因特网_ (0) = 0) 编辑框_运行结果.内容 = “能连接到因特网” .默认 编辑框_运行结果.内容 = “不能连接到因特网”