自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (19)
  • 收藏
  • 关注

原创 QT调用dll、外部程序调用QT的dll.md

QT可以调用外部的dll,也可以调用QT的dll,外部程序也可以调用QT写的dll界面。QT调用外部的dll: 直接使用 QLibrary::load() 加载dll,使用 QLibrary::resolve() 查找函数地址加载函数即可。QT调用QT的dll:新建子目录项目: 添加子项目: 添加 Application 工程,然后把除了main.cpp之外的东西删掉,后面用这

2017-11-26 22:27:23 2391

原创 QT读取身份证信息

QT读取身份证信息使用的是华视的读卡器,先去官网(http://www.chinaidcard.com/)下载读卡二次开发SDK,里边有二次开发的说明文档和示例,复制termb.dll 、sdtapi.dll、WltRs.dll等到程序路径下。使用 QLibrary 从 termb.dll 加载身份证读取相关的函数。 代码: .h#ifndef BP_READCARD_H#define BP_

2017-11-26 22:10:42 3327 1

原创 CEdit换行和GetLine乱码

CEdit换行和GetLine乱码CEdit换行: 继承自CEdit的类中处理PreTranslateMessage可换行,类似于:BOOL CNewEdit::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN) { if (pMsg->wParam == VK_RETURN)

2017-11-21 16:00:19 793

原创 Makefile中用宏定义条件编译

Makefile中用宏定义条件编译,这样可以不修改代码的情况下编译出不同的版本。make –f=./makefile1 指定使用 makefile1 编译 make clean 清除编译的.o 和二进制文件代码:a.c#include <stdio.h>#include <stdlib.h>main(){#ifdef p1 printf("Hello p1");#else prin

2017-11-21 15:53:45 2287

原创 windows截图保存为文件

用到MFC的版本: for(int i = 0;i < 30; ++i) { HDC hdcSrc = GetDC(NULL); int nBitPerPixel = GetDeviceCaps(hdcSrc,BITSPIXEL); int nWidth = GetDeviceCaps(hdcSrc,HORZRES);

2017-11-21 15:49:05 768

原创 压缩access数据库

遇到一个问题,使用的是accesss数据库,在加载数据库中的信息的时候,速度特别慢,有时候一次查询最终会卡15秒左右,然后才能得到结果,跟踪发现卡的地方在SQLExecDirect中,已经是odbc api了。打开数据库看也没发现啥问题,后来点了access上边的 压缩和修复数据库 工具,数据库从原来的 8M 瞬间变成了 800k ,使用压缩后的数据库时速度就特别快了,不知道是不是access数据库

2017-11-21 15:46:48 2362

原创 获取硬盘、U盘数量和名称

获取硬盘、U盘数量和名称,使用 SetupDiEnumDeviceInfo 枚举磁盘设备,再通过 SetupDiGetDeviceRegistryProperty 获取 SPDRP_REMOVAL_POLICY 属性,确认是不是可移动设备,然后再获取名字就好了。#include "SetupAPI.h"#pragma comment(lib,"Setupapi.lib")INT GetHardD

2017-11-21 15:45:05 2944 3

原创 Windows Defender SmartScreen阻止应用运行

出现Windows Defender SmartScreen阻止应用运行,很不爽,有时候重新签名也不行。 可在 关闭。 或者注册表中: 修改为,RequireAdmin,Prompt,Off,分别对应控制面板中的选项。

2017-11-21 15:43:11 25922

原创 文件拖拽到窗口

文件拖拽到窗口方法一:重写部件拖拽处理函数设置UI接受拖拽: 重写: .h#include <QDebug>#include <QEvent>#include <QDropEvent>#include <QMimeData>protected: void dragEnterEvent(QDragEnterEvent * event); void dropEvent(QDr

2017-11-21 08:36:13 2949

原创 QT设置centralWidget布局

QT设置centralWidget布局设置之前是这样的,这时候即使设置了控件的布局,实际上控件大小还是不会跟这变,因为centralWidget没有设置布局。 需要在没有控件的空白区域,点击右键在布局中选择一种布局: 布局后, centralWidget有布局了,这时候控件就能正常跟随窗口缩放了。

2017-11-20 17:22:19 26513 3

原创 Qt注册全局热键

Qt注册全局热键首先到 https://github.com/ddqd/qxtglobalshortcut5 下载要用到的库 在工程 pro 文件中加入子项目依赖,然后再项目上 qmake 一下:include($$PWD/../qxtglobalshortcut5-master/qxt.pri)在头文件中包含 QxtGlobalShortcut 的头文件:#include "qxtglob

2017-11-20 17:20:02 2822

原创 Qt加载托盘图标

Qt加载托盘图标需要加载托盘图标时: QIcon icon(":/img/res/music.png"); QSystemTrayIcon * systemTray = new QSystemTrayIcon(this); systemTray->setIcon(icon); systemTray->setToolTip("双击打开"); systemTray-

2017-11-20 17:17:55 401

原创 Qt读取excel

Qt读取excel使用 odbc 和 QtXlsxWriter 读 xls 和 xlsx 格式的 excel 文件,使用 odbc 读 xlsx 会链接失败,使用 QtXlsxWriter 读 xls 也无法读取,所以只好针对两种格式分别处理,使用 odbc 和 QtXlsxWriter 的好处是不用在目标机器上安装 excel 。安装 QtXlsxWriter: 在 https://githu

2017-11-20 17:16:07 925

原创 Qt生成文件依赖打包

Qt生成文件依赖打包可以使用 Qt 自带的工具 windeployqt.exe 分析依赖,并自动复制文件到指定目录。 首先打开 Qt 命令行: cd 到目标目录: 执行 windeployqt.exe 分析依赖: 执行完毕后依赖文件就拷过来了:

2017-11-20 17:11:31 942

原创 Qt焦点事件

Qt焦点事件为了尝试得到Qt窗口得到或者失去焦点的事件,使用了两种方法尝试: 方法一:重载窗口的 focusInEvent 和 focusOutEvent。 .hprotected: virtual void focusInEvent(QFocusEvent * event); virtual void focusOutEvent(QFocusEvent * event);.cp

2017-11-20 17:08:49 802

原创 Qt异形窗口

Qt异形窗口首先把窗口大小调整为图片大小,设置窗口无标题栏,然后加上鼠标拖动的代码: setWindowFlags(Qt::FramelessWindowHint); //去掉标题栏 m_pixmap.load(":/img/plant.png"); //加载 resize(m_pixmap.size()); //设

2017-11-20 17:02:19 3012

原创 一些代码

一些代码窗口全屏 showFullScreen(); //全屏设置窗口透明度,1是不透明,0是透明 setWindowOpacity(0.1); //设置窗口透明度Qt子控件阴影效果: QGraphicsDropShadowEffect * shadow = new QGraphicsDropShadowEffect(this); shadow->b

2017-11-20 16:56:08 219

原创 Qt设置窗口、按钮背景色

Qt设置窗口、按钮背景色1、设置窗口背景色时使用如下样式表:background-image: url(:/img/png/BJ.png);使用后如果背景图片大小不够会被平铺。2、设置按钮图片,同样使用 setStyleShette 设置样式表,直接设置按钮的鼠标停留图片等,如下:QPushButton{border-image:url(:/img/png/chongzuo.png);}QPush

2017-11-20 16:49:47 5548

原创 Qt添加资源

Qt添加资源记性不好,记一下 添加图片等资源时,在工程三右键后添加Qt Resource File 设置名字完成后 添加前缀后再添加文件 然后就可以使用了,使用类似于:QPushButton{background-image: url(:/new/prefix1/png/bk.png);}QPushButton{border-image:url(:/new/prefix1/p

2017-11-20 16:43:16 341

Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间

Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间等

2018-01-14

QT调用dll和MFC调用QT的dll

编写QT的dll,QT调用QT的dll,QT调用外部的dll,MFC程序调用QT的dll,

2017-11-26

QT异形窗口

QT异形窗口的实现,首先把窗口大小调整为图片大小,设置窗口无标题栏,然后加上鼠标拖动的代码

2017-11-20

windows线程同步

windows下的一些同步方法,volatile、Interlocke函数、CRITICAL_SECTION、SRWLOCK、Mutex。

2017-07-19

DLL函数和类导出

llMain 类似于main函数或者winmain等入口函数,当加载、卸载、线程启动、线程终止时会调用,可在此申请资源或清理资源等。 DLL可以配合头文件和lib使用,或者使用LoadLibrary+GetProcAddress动态加载。

2017-07-16

暂停、恢复进程

CreateToolhelp32Snapshot创建线程快照,枚举线程,判断线程PID与选中的PID一致,则使用SuspendThread、ResumeThread暂停和恢复线程,进程的所有线程暂停或恢复,则进程也将会被暂停和恢复。进程被暂停后包括GUI都完全无响应。

2017-07-16

枚举进程DLL

使用 CreateToolhelp32Snapshot 创建进程快照,第一个参数为 TH32CS_SNAPMODULE 时创建进程 DLL 快照,类似枚举进程时使用的 Process32First、Process32Next,枚举进程 DLL 时使用 Module32First、Module32Next 枚举进程 DLL。

2017-07-11

服务程序控制

枚举、启动、停止服务程序,使用OpenSCManager、EnumServicesStatus、OpenService、ControlService、StartService等API。

2017-07-10

windows进程守护

WaitForMultipleObjects 可以等待进程、线程、事件、信号、mutex等,可以用它实现进程保护,在需要保护的进程被结束时,重新启动保护进程,可以达到普通用户无法正常结束进程的目的,如保护进程和被保护进程互相保护,那就更难结束了。

2017-07-10

异步socket TCP 通信

使用 WSAAsyncSelect 的异步 socket 通信示例

2017-07-10

socket TCP 通信

windows socket tcp.

2017-07-10

托盘图标及气泡提示

添加、移除托盘图标,以及气泡提示

2017-07-09

异步命名管道

异步命名管道使用

2017-07-07

关机、注销、登录、锁屏等消息

重启、关机、注销、登录、锁屏、资源管理器重启等消息。

2017-07-07

关机、注销、登录、锁屏、资源管理器重启等消息

windows重启、关机、注销、登录、锁屏、资源管理器重启等消息

2017-07-07

windows进程结束

使用TerminateProcess直接结束进程,如果结束不了,则修改token获取SE_DEBUG_NAME特权,再次TerminateProcess结束进程。

2017-07-07

windows枚举窗口

查找和枚举windows窗口示例.

2017-07-07

windows重启

使用ExitWindowsEx函数实现重启、关机、注销等:

2017-07-07

使用 GetAdaptersInfo 或 GetAdaptersAddresses 获取网络相关参数

GetAdaptersInfo 和 GetAdaptersAddresses 都能获取网络相关信息,如网卡名称、MAC 地址、IP、DNS、网关等信息,但是两个函数感觉都有一些问题,GetAdaptersInfo 获取不到 IPV6 地址信息,使用起来较为简单,GetAdaptersAddresses 可以获取到 IPV6 地址信息,但是似乎获取不到 子网掩码 ,MSDN 推荐使用 GetAdaptersAddresses 。

2017-07-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除