确定计算机是否已连接到Internet

时间:2013-04-21 12:47:29

标签: windows winsock

我需要在c ++程序中确定Windows计算机是否连接到Internet。对于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一些已知的网站,除非这是完成它的唯一方法。

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

0 个答案:

没有答案