zoukankan      html  css  js  c++  java
  • 准确判断网络连接方式和当前连接状态

    当用WIFI连接到CMCC即便没有认证登录也会显示己连接

    ; 环境: AutoHotkey 1.1.05.01 Unicode, Windows XP
    
    #NoEnv
    
    ahkcs := "http://www.baidu.com"
    
    MsgBox, % "上网方式: " W_InternetGetConnectedState() "`n连接状态: " W_IsNetworkAlive() "`n"
    MsgBox, % W_InternetCheckConnection(ahkcs) ? "成功连接到 baidu.com":"连接失败"
    Return
    
    ;        判断网络连接方式
    W_InternetGetConnectedState()
    {
            INTERNET_CONNECTION_MODEM := 0x01
            INTERNET_CONNECTION_LAN := 0x02
            INTERNET_CONNECTION_PROXY := 0x04
            
            lpdwFlags := ""        ; 上网方式
            IsOnline := TRUE        ; 是否在线
            dwReserved := 0
            
            IsOnline := DllCall("Wininet.dllInternetGetConnectedState", "UInt*", lpdwFlags, "Uint", dwReserved, "Int")
            if (IsOnline)        ; 在线  
            {  
                    if ((lpdwFlags & INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM)
                    {
                            return, "Local system uses a modem to connect to the Internet."
                    }
                    if ((lpdwFlags & INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN)
                    {
                            return, "Local system uses a local area network to connect to the Internet."
                    }
                    if ((lpdwFlags & INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY)
                    {
                            return, "Local system uses a proxy server to connect to the Internet."
                    }
            }
            else
                    return, "Local system is in offline mode."
    }
    
    ;        判断当前网络连接状态
    W_IsNetworkAlive()
    {
        NETWORK_ALIVE_LAN := 0x1
        NETWORK_ALIVE_WAN := 0x2
        NETWORK_ALIVE_AOL := 0x4
            
              lpdwFlags := ""        ; 上网方式
            IsOnline := TRUE        ; 是否在线
    
            IsOnline := DllCall("Sensapi.dllIsNetworkAlive", "UInt*", lpdwFlags)
            if A_LastError
                    return, "ERROR"
            if (IsOnline)
            {  
                    if ((lpdwFlags & NETWORK_ALIVE_LAN) = NETWORK_ALIVE_LAN)
                    {
                            return, "NETWORK_ALIVE_LAN"
                    }
                    if ((lpdwFlags & NETWORK_ALIVE_WAN) = NETWORK_ALIVE_WAN)
                    {
                            return, "NETWORK_ALIVE_WAN"
                    }
                    if ((lpdwFlags & NETWORK_ALIVE_AOL) = NETWORK_ALIVE_AOL)
                    {
                            return, "NETWORK_ALIVE_AOL"
                    }
            }
            else
                    return, "Local system is in offline mode."
    }
    
    ;        判断是否可以与某个 URL 建立连接
    W_InternetCheckConnection(lpszUrl)
    {
            FLAG_ICC_FORCE_CONNECTION := 0x1
            dwReserved := 0x0
            return, DllCall("Wininet.dllInternetCheckConnection", "Ptr", &lpszUrl, "UInt", FLAG_ICC_FORCE_CONNECTION, "UInt", dwReserved, "Int")
    }
  • 相关阅读:
    HTML超链接a标签
    ANR与Crash
    学习笔记:oracle学习一:oracle11g体系结构之物理存储结构
    学习笔记:oracle学习一:oracle11g体系结构之服务器结构、数据字典
    关于sql server全文检索的一些资料收集2
    关于sql server全文检索的一些资料收集1
    关于sql server全文检索的一些资料收集2
    做日文编码网页解决乱码的经验。(仇日派别砍我~~)
    如何监视sql server连接池
    做全文检索的小心得
  • 原文地址:https://www.cnblogs.com/cnsealine/p/3343732.html
Copyright © 2011-2022 走看看