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 类,用 ...
随机推荐
- JS笔记:方法两次调用,执行不同分支(公共变量,闭包,类三种方法实现)
好家伙, 当我们对一个方法进行两次调用,我们希望第一次执行A分支,第二次执行B分支,该怎么做? 这意味着在连续的两次调用中,方法的执行逻辑会交替执行不同的分支. 方法一:公共变量 let flag ...
- Nebula Graph|如何打造多版本文档中心
本文首发于 Nebula Graph Community 公众号 世界上没有完美的产品,每个不完美的产品都需要一份文档. 为什么需要文档 打造出一款产品后,我们需要一份文档来回答以下问题: 设计这款产 ...
- 案例8:将"picK"的大小写互换
最终输出结果为PICk. 需要先计算两个字母之间的间隔,比如a和A之间的间隔为多少. 然后在将大写字母转换为小写字母,加上间隔的值: 将小写字母转换为大写字母,减去间隔的值. 示例代码如下: #def ...
- atcoder: Moves on Binary Tree
先进行压缩move的次数,再用biginteger. import java.io.BufferedReader; import java.io.IOException; import java.io ...
- Linux 运维工程师面试真题-4-Linux 服务配置及管理
Linux 运维工程师面试真题-4-Linux 服务配置及管理** 1.请写出 apache2.X 版本的两种工作模式,以及各自工作原理.如何查看 apache 当前所 支持的模块,并且查看是工作在哪 ...
- 开发必会系列:为什么要用spring
Spring是于2003 年兴起的一个轻量级的Java 开发框架,开源的,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中 ...
- base64格式上传图片后台写入
前台 var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function(e){//回调 } 后台 ...
- 使用Go语言开发一个短链接服务:五、添加和获取短链接
章节 使用Go语言开发一个短链接服务:一.基本原理 使用Go语言开发一个短链接服务:二.架构设计 使用Go语言开发一个短链接服务:三.项目目录结构设计 使用Go语言开发一个短链接服务:四.生成 ...
- ARM和x86比较
信不信,随便逮住一个人问他知不知道CPU,我想他的答案一定会是肯定的,但是如果你再问他知道ARM和X86架构么?这两者的区别又是什么?绝大多数的人肯定是一脸懵逼.今天小编就带你深入了解CPU的这两大架 ...
- C# 单例模式使用 Singleton
Singleton 类如下: public class Singleton<T> where T : class, new() { private static T _instance; ...