You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11下InternetGetConnectedState始终返回TRUE是否为回归问题?

问题解答

1. 是Bug还是函数误用?

这是Windows 11的已知回归Bug,并非你误用了InternetGetConnectedState函数。
在Windows 10中,该函数会正确区分「RAS服务已安装」和「RAS拨号已建立连接」两种状态;但升级到Windows 11后,只要系统安装了RAS服务(对应0x10标识),哪怕实际拨号连接未激活,函数也会返回TRUE,同时错误带上LAN(0x2)标识,导致误判联网状态。

2. 针对拨号配置的解决方法

  • 结合RasEnumConnections函数验证实际拨号状态:调用该函数枚举当前所有RAS连接,遍历检查连接状态是否为RASCS_Connected,以此确认是否真的建立了拨号联网。
  • 替换为更精准的联网检测API:
    • 使用InternetCheckConnectionW:传入一个稳定的公网URL(如https://www.microsoft.com),并设置FLAG_ICC_FORCE_CONNECTION参数,强制检测实际互联网连通性。
    • 使用NetworkListManager COM组件:它能准确识别网络连接的类型和是否具备互联网访问能力,适合需要精准判断的场景。
  • 补充检测方案(备选):发起简单的ICMP请求(ping)辅助验证,但需注意部分网络环境可能禁用ICMP协议,需和其他方法配合使用。

内容的提问来源于stack exchange,提问作者Alexander Dyagilev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 10:04:52