检测Internet V.本地LAN连接

时间:2010-04-20 18:39:28

标签: c++ windows networking

无论如何使用Windows api来检测Windows 7计算机的网络连接是Internet连接还是没有Internet访问的LAN连接? Windows 7和Vista在网络图标(仅限本地v。本地和Internet)中表明了这一点,无论如何都要以程序方式获取该信息吗?

5 个答案:

答案 0 :(得分:3)

http://msdn.microsoft.com/en-us/library/aa370750(VS.85).aspx描述了IsConnectedIsConnectedToInternet之间的区别。仅限Windows 7。我没有方便的本机代码示例,抱歉。

答案 1 :(得分:1)

Ping 4.2.2.2是确定互联网连接是否存在的常用方法。

这个lies here背后的故事。

答案 2 :(得分:0)

不完美。

您可以通过IP地址检测您是否在局域网上(假设您的本地DHCP分配了192.168.xx.xx私有地址之一。)

你可以ping一个已知的外部网站来检查该局域网是否有互联网连接。

答案 3 :(得分:0)

Windows 7在链接建立后5秒对dns.msftncsi.com执行DNS查询。除了检查互联网连接外,没有任何理由这样做。

答案 4 :(得分:0)

Windows API代码包将为您执行此操作 http://archive.msdn.microsoft.com/WindowsAPICodePack

其NetworkListManager类具有IsConnected属性,指示您是否具有LAN连接

和IsConnectedToInternet属性,指示您是否具有Internet连接

包下载包含演示此

的网络演示应用程序