检测Internet V.本地局域网连接

反正用Windows api来检测Windows 7计算机的networking连接是否是互联网连接或没有互联网连接的局域网连接? Windows 7和Vista在networking图标(Local only v。Local和Internet)中指出了这一点,是否有计划地获取该信息?

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

Pinging 4.2.2.2是确定是否存在互联网连接的常用手段。

这背后的故事就在这里 。

不完美。

你可以通过IP地址来检测你是否在局域网上(假设你的本地DHCP发送了一个192.168.xx.xx的私有地址)。

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

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

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

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

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

包下载包含一个演示这个网络演示应用程序