Qt调用系统DLL,判断网络连接状态
*: Win32 网络连接 dll 文件名叫:wininet.dll,位置在 C:\WINDOWS\system32 目录下,将 其拷贝到项目工程下。
#include <QLibrary>
#include <QLabel> #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) ; // 定义函数指针
QLabel *label = new QLabel(this);
label->setGeometry(QRect(50, 50, 200, 25)); QLibrary myLib("wininet.dll");
if(myLib.load())
{
bool bOnline = false; // 是否在线
int flags; ConnectFun myConnect = (ConnectFun)myLib.resolve("InternetGetConnectedState");
bOnline = myConnect(&flags, 0);
// 判断是否联网
if(bOnline)
{
if(flags &INTERNET_CONNECTION_MODEM)
{
label->setText("已连接:拨号上网");
}
else if(flags &INTERNET_CONNECTION_LAN)
{
label->setText("已连接:局域网");
}
else if(flags &INTERNET_CONNECTION_PROXY)
{
label->setText("已连接:代理上网");
}
else
{
label->setText("连接失败");
}
}
else
{
label->setText("没有网络连接");
}
}
else
{
label->setText("DLL加载失败");
}
Qt调用系统DLL,判断网络连接状态的更多相关文章
- c#判断网络连接状态示例代码
		使用c#判断网络连接状态的代码. 代码: public partial class Form1 : Form { [DllImport() == true) { label1.Text = " ... 
- Win8 app判断网络连接状态
		Win8 app判断网络连接状态 NetworkInformation.NetworkStatusChanged += NetworkInformation_NetworkStatusChanged; ... 
- 【Android进阶】判断网络连接状态并自动界面跳转
		用于判断软件打开时的网络连接状态,若无网络连接,提醒用户跳转到设置界面 /** * 设置在onStart()方法里面,可以在界面每次获得焦点的时候都进行检测 */ @Override protecte ... 
- android判断网络连接状态、联网类型、运营商
		/** * 获取上网方式 * * @param mContext * @return */ public static String getNetType(Context mContext) { St ... 
- iOS 判断网络连接状态的几种方法
		p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #801b80 } p.p2 ... 
- iOS开发——Reachability和AFNetworking判断网络连接状态
		一.Reachability // 监听网络状态改变的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selec ... 
- iOSReachability判断网络连接状态
		// // NetStateManage.h // // Created by miniu on 15/11/24. // Copyright © 2015年 mini. All rights ... 
- Android判断网络连接状态
		有的时候我们的应用可能需要判断当前设备是否联网 private void init() { /** 获得系统级联网管理员对象 */ ConnectivityManager manager = (Con ... 
- Offline.js - 自动判断网络连接状态并提醒用户
		http://www.cnblogs.com/lhb25/p/offline-js-alert-users-when-no-internet-connectivity.html 使用 jslint/j ... 
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
		随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager 类,用 ... 
随机推荐
- 一次生产环境OOM排查
			一.背景 前几天下午飞书告警群里报起了java.lang.OutOfMemoryError: unable to create new native thread告警,看见后艾特了对应的项目负责人但是 ... 
- JAVA微服务分布式事务的几种实现方式
			基础理论 CAP理论 一致性(Consistency) :在分布式系统中所有的数据备份,在同一时刻都保持一致状态,如无法保证状态一致,直接返回错误: 可用性(Availability):在集群中一部分 ... 
- ElasticSearch基础介绍(1)
			## 1. Elasticsearch基本介绍 官网:https://www.elastic.co/cn Elasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引 ... 
- java项目-尚硅谷项目三员工调度系统
			导入工具类和数据 创建TeamSchedule项目,com.atguigu.team. view,com.atguigu.team.service,com.atguigu.team.domain包 , ... 
- Zabbix“专家坐诊”第198期问答汇总
			问题一 Q:请问一下,自带的思科SNMP交换机模板,怎么不监控down的接口? A1:这种一般在自动发现规则里加个过滤器,过滤出IFSTATUS匹配(1|3)的就能实现只发现up的端口了. A2: 1 ... 
- axios post xml data方法
			axios#request(config) axios#get(url[,config]) axios#delete(url[,config]) axios#head(url[,config]) ax ... 
- k8s标签的增删改查和选择器
			在 Kubernetes(K8s)中,标签(Label)是与资源对象相关联的键值对,用于实现多维度的资源分组管理功能.下面是关于 Kubernetes 标签的增删改查操作的简要说明: 查询标签 (查) ... 
- Kotlin学习快速入门(9)—— 密封类的使用
			原文地址: Kotlin学习快速入门(9)-- 密封类的使用 - Stars-One的杂货小窝 代码逻辑中,很多时候我们会需要分支语句,来根据数据的情况走不同的处理逻辑,而密封类就是在这种情况下,方便 ... 
- electron 下网页获取 micphone 权限
			网页获取麦克风或摄像头权限我们只需调用 navigator.mediaDevices.getUserMedia 方法就可唤起浏览器用户授权 const useMicphone = async () = ... 
- [C++]使用auto遍历判断是否是最后一个元素
			一.背景 略 二.代码 for(auto& it:vec){ if(&it==&vec.back()){ cout<<"is the last eleme ... 
