Allows an application to check if a connection to the Internet can be established. msdn link
公司的代码中通过实现ping功能,ping指定的外网ip地址进行网络连接状态的检测,在windows 7上能够正常运行,但是在windows 10上却遇到了权限问题,需要以管理员权限运行才行。
微软提供的函数能够解决该问题,而且在代码的实现上算是简化了。
代码如下:
#include <stdio.h>
#include <windows.h>
#include <wininet.h>
#pragma comment(lib, "wininet.lib")
int main(int argc, char* argv[])
{
printf_s("start internet status check...\n");
BOOL currentStatus = InternetCheckConnection("http://www.baidu.com/", FLAG_ICC_FORCE_CONNECTION, 0);
if (FALSE == currentStatus)
{
DWORD error = GetLastError();
printf_s("internet connect is fail, error code is %d\n", error);
}
else
{
printf_s("internet connect is success...\n");
}
return 0;
}