易语言调用API判断网络连接状态的三种源码

易语言调用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。
);

易语言

  1. .版本 2
  2.  
  3. .DLL命令 检查Internet连接_, 整数型, "wininet.dll", "InternetCheckConnectionA"
  4.     .参数 Url地址, 文本型, , lpszUrl
  5.     .参数 标志, 整数型, , dwFlags
  6.     .参数 返回值, 整数型, , 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指出,这个函数取得的结果不太准确。

  1. .版本 2
  2.  
  3. .DLL命令 是否连接因特网_, 整数型, "url.dll", "InetIsOffline"
  4.     .参数 标志值, 整数型, , dwFlags,默认值为0

调用测试

.版本 2
 
.子程序 _按钮_测试_被单击, , ,   
 
.判断开始 (是否连接因特网_ (0) = 0)
    编辑框_运行结果.内容 = “能连接到因特网”
.默认
    编辑框_运行结果.内容 = “不能连接到因特网”

发布日期:

所属分类: 编程 标签: