Qt调用win32的dll判断是否连接上了网络
2010-08-06 16:23
495 查看
//拨号
#define INTERNET_CONNECTION_MODEM 1
//局域网
#define INTERNET_CONNECTION_LAN 2
//代理上网
#define INTERNET_CONNECTION_PROXY 4
//代理被占用
#define INTERNET_CONNECTION_MODEM_BUSY 8
//定义函数指针
typedef bool (*ConnectFun)(int* lpdwFlags,int dwReserved);
//获得联网方式
void GetInternetConnectState()
{
QLibrary lib("Wininet.dll");
//如果正确加载了dll
if(lib.load())
{
bool bOnline=false;//是否在线
int flags;
//获取dll库中的函数InternetGetConnectedState函数地址`
ConnectFun myConnectFun=(ConnectFun)lib.resolve("InternetGetConnectedState");
//判断是否连网
bOnline=myConnectFun(&flags,0);
if(bOnline)
{
//在线:拨号上网
if ( flags & INTERNET_CONNECTION_MODEM )
{
QMessageBox::information(0,QObject::tr("网络连接提示"),
QObject::tr("已经连接上了网络 在线:拨号上网"));
} else if(flags & INTERNET_CONNECTION_LAN) //在线:通过局域网
{
QMessageBox::information(0,QObject::tr("网络连接提示"),
QObject::tr("已经连接上了网络 在线:通过局域网"));
}
else if(flags & INTERNET_CONNECTION_PROXY)
{
QMessageBox::information(0,QObject::tr("网络连接提示"),
QObject::tr("已经连接上了网络 在线:代理"));
}
}
else
{
QMessageBox::information(0,QObject::tr("网络连接提示"),
QObject::tr("没有连接网络,请连接网络"));
}
}
}
相关文章推荐
- LabVIEW调用system32中的wininet.dll判断计算机网络连接状态
- java中可以通过调用ping命令来判断网络是否连接正常
- Android开发之判断网络(wifi、3G)是否连接
- Android中判断网络连接是否可用及监控网络状态
- Inno Setup:卸载时判断要调用的dll是否存在
- Android判断网络是否已经连接
- Linux C语言ping方法判断是否已经连接网络方法
- [Android]判断网络连接是否可用
- Android中判断网络连接是否可用的方法总结
- Android中判断网络连接是否可用及监控网络状态
- 安卓手机下面如何判断网络是否连接
- android 判断是否有网络连接(usb连接电脑问题)
- 判断网络是否连接
- C#自动更换IE代理IP并判断代理是否可连接网络
- 如何判断android 网络连接是否可用
- Android网络判断是否连接和网络类型
- Android中判断网络是否连接实例详解
- iOS判断网络是否连接
- Android中判断网络连接是否可用及监控网络状态
- android判断程序是否连接网络