偶的程序想判断指定的网卡是否已经接入网线,但是找了许久,只有通过winpcap库获取网卡信息,根据信息中地址部分是否为空来判断,并且试了 下,至少有3秒的延迟,感觉效果不好,同时也不想依赖第三方库。不知有没有高见指出高效快速的解决办法,最好不要直接访问注册表或者驱动程序,api函数最好!
在线等,谢谢各位了!

解决方案 »

  1.   

    InternetGetConnectedStateEx  但是也有问题! 其他的不知道了
      

  2.   

    本帖最后由 VisualEleven 于 2010-09-21 08:56:38 编辑
      

  3.   

    不用这么复杂,有一个函数应该能够实现你的要求:
    BOOL InternetGetConnectedState(
      __out  LPDWORD lpdwFlags,
      __in   DWORD dwReserved
    );
    这个函数的具体用法你可以再搜索一下,希望能对你有所帮助。
      

  4.   

    nternetGetConnectedState这个的确可以。
      

  5.   

    本帖最后由 VisualEleven 于 2010-09-21 08:56:52 编辑
      

  6.   

    InternetGetConnectedState我做过测试,连线状态下得到的结果是18,也即RAS_INSTALLED和CONNECTION_LAN,拔掉网线的结果是16,是只有RAS_INSTALLED,当时看到这个想没有offline这个标志位,就没有继续考虑。不知道是不是没有连接状态位,就表示网线断开?