反正用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描述了IsConnected
和IsConnectedToInternet
之间的区别。 仅限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连接
包下载包含一个演示这个网络演示应用程序