无论如何使用Windows api来检测Windows 7计算机的网络连接是Internet连接还是没有Internet访问的LAN连接? Windows 7和Vista在网络图标(仅限本地v。本地和Internet)中表明了这一点,无论如何都要以程序方式获取该信息吗?
答案 0 :(得分:3)
http://msdn.microsoft.com/en-us/library/aa370750(VS.85).aspx描述了IsConnected
和IsConnectedToInternet
之间的区别。仅限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连接
包下载包含演示此
的网络演示应用程序