2

我需要在 C++ 程序中确定 Windows 计算机是否连接到互联网。对于 Vista 及以上版本,有 IsInternetConnected() 函数,它按预期工作。对于 XP,应该可以通过 WSALookupServiceNext() 获取 _NLA_BLOB,如 http://msdn.microsoft.com/en-us/library/ms700657(v=vs.85).aspx中所述。

但是,在 Windows 7 上运行时,它确实返回了一些 NLA_CONNECTIVITY 类型的 blob(用于物理和 vmware 虚拟 NIC),一些带有 NLA_INTERNET_YES 和一些带有 NLA_INTERNET_NO。当我在 Windows XP 上运行它时,根本没有这样的 blob。它应该在 XP 上以这种方式工作并且我做错了什么,还是我应该寻找其他方法?除非这是完成它的唯一方法,否则我宁愿不 ping 某些已知站点。

ps - 最终我们决定只 ping,至少在 XP 上。

4

0 回答 0