zoukankan      html  css  js  c++  java
  • 判断网络是否连接通

    编写下载程序的时候,需要经常判断网络是否连接通,通过下面的方法可以得到网络连接的状态。

    要用的函数:InternetGetConnectedState,这个win32 API在系统system32文件夹中winInet.dll中
    函数原形:BOOL InternetGetConnectedState(LPDWORD dwFlag,DWORD dwReserved);
    参数dwFlag返回当前网络状态,参数dwReserved依然是保留参数,设置为0即可。

    INTERNET_CONNECTION_MODEM = 采用调治解调器上网
    INTERNET_CONNECTION_LAN = 采用网卡上网;
    INTERNET_CONNECTION_PROXY = 采用代理上网;
    INTERNET_CONNECTION_MODEM_BUSY = MODEM被其他非INTERNET连接占用;

    public class InternetHelper
        {
            //使用DllImport需导入命名空间,InternetGetConnectedState返回的状态标识位的含义:
            private const int INTERNET_CONNECTION_MODEM = 1;
            private const int INTERNET_CONNECTION_LAN = 2;
            private const int INTERNET_CONNECTION_PROXY = 4;
            private const int INTERNET_CONNECTION_MODEM_BUSY = 8;
            [DllImport("winInet.dll ")]
            private static extern bool InternetGetConnectedState(ref  int dwFlag, int dwReserved);

            /// <summary>
            /// 判断是否有网络连接
            /// </summary>
            /// <returns>true 有, false 无</returns>
            public static bool GetInternetConnectState()
            {
                var dwFlag = 0;
                var netStatus = "";

                if (!InternetGetConnectedState(ref dwFlag, 0))
                {
                    return false;
                }

                if ((dwFlag & INTERNET_CONNECTION_MODEM) != 0) netStatus = "采用调治解调器上网";
                if ((dwFlag & INTERNET_CONNECTION_LAN) != 0) netStatus = "采用网卡上网";
                if ((dwFlag & INTERNET_CONNECTION_PROXY) != 0) netStatus = "采用代理上网";
                if ((dwFlag & INTERNET_CONNECTION_MODEM_BUSY) != 0) netStatus = "MODEM被其他非INTERNET连接占用";
                return true;
            }
        }

  • 相关阅读:
    使用BigDecimal进行精确运算
    Hibernate读书笔记数据过滤
    Hibernate读书笔记Hibernate的关联映射之1N关联映射
    bernate读书笔记条件查询
    Hibernate读书笔记Hibernate的关联映射之NN关联映射
    Hibernate读书笔记缓存
    Hibernate读书笔记事件机制
    解决拦截器的对于参数传递无效问题
    Hibernate读书笔记SQL查询
    Hibernate读书笔记Hibernate的关联映射之组件属性关联关系
  • 原文地址:https://www.cnblogs.com/guyichang/p/2721672.html
Copyright © 2011-2022 走看看