三、 检查本地网络连接状态并取得网络连接方式(并不能确定是否连上Internet)
要用的函数:InternetGetConnectedState
函数原形:BOOL InternetGetConnectedState(LPDWORD lpdwFlags,DWORD dwReserved);
这个函数的功能是很强的。它可以:
1. 判断网络连接是通过网卡还是通过调治解调器
2. 是否通过代理上网
3. 判断连接是On Line还是Off Line
4. 判断是否安装“拨号网络服务”
5. 判断调治解调器是否正在使用
这里我们只需要使用它的第一条功能。参数lpdwFlags返回当前网络状态。这里我们只要用下面两个标志进行判断。
INTERNET_CONNECTION_MODEM 通过调治解调器连接网络
INTERNET_CONNECTION_LAN 通过局域网连接网络
参数dwReserved依然是保留参数,设置为0即可。
当函数返回TRUE时说明连接到网络,否则返回FALSE。
程序如下:
要用的函数:InternetGetConnectedState
函数原形:BOOL InternetGetConnectedState(LPDWORD lpdwFlags,DWORD dwReserved);
这个函数的功能是很强的。它可以:
1. 判断网络连接是通过网卡还是通过调治解调器
2. 是否通过代理上网
3. 判断连接是On Line还是Off Line
4. 判断是否安装“拨号网络服务”
5. 判断调治解调器是否正在使用
这里我们只需要使用它的第一条功能。参数lpdwFlags返回当前网络状态。这里我们只要用下面两个标志进行判断。
INTERNET_CONNECTION_MODEM 通过调治解调器连接网络
INTERNET_CONNECTION_LAN 通过局域网连接网络
参数dwReserved依然是保留参数,设置为0即可。
当函数返回TRUE时说明连接到网络,否则返回FALSE。
程序如下:
DWORD dwFlag;
if(!InternetGetConnectedState(&dwFlag, 0))
sbMsg->SimpleText = "网络未连接。";
else
if(dwFlag & INTERNET_CONNECTION_MODEM)
sbMsg->SimpleText = "采用调治解调器上网。";
else
if(dwFlag & INTERNET_CONNECTION_LAN)
sbMsg->SimpleText = "采用网卡上网。";