- 博客(36)
- 资源 (9)
- 收藏
- 关注
原创 windows网络驱动开发
Windows过滤平台(Windows Filtering Platform, WFP),是从Vista系统后新增的一套系统API和服务。开发者可以在WFP框架已划分的不同分层中进行网络数据包,以实现防火墙、入侵检测系统、网络监控等软件。(Windows内核安全与驱动开发)
2024-04-16 11:12:11 767 1
原创 Windows下创建进程的理解
创建windows进程,需要考虑两个点,即session和权限问题。了解这两点,网络上服务创建界面进程,管理员权限进程创建普通权限进程的代码则很好理解。
2023-06-27 16:58:16 1157
原创 Winpcap与Npcap的区别
1、winpcap已无人维护而npcap目前仍在维护,可提供专业级付费服务。2、winpcap的开源协议是BSD,对于商业化软件很友好。而Npcap是LGPL,且免费的license只允许五次安装。3、Npcap支持回环捕获。
2023-06-15 16:18:19 3959
原创 C++实现Wlan自动连接(wpa2 enterprise)
网上大部分支持设置密码的文章都仅限于WPA2-个人,仅设置密码即可连接无线网。参考本文可实现WPA2企业(设置用户名密码才可上网)的代码自动连接。
2022-10-31 10:22:45 1938 6
原创 QCamera linux与windows区别
Qt调用摄像头:QCamera:相机操作类QCameraViewfinder:显示窗口,执行构造函数时可传入QVideoWidget窗口类(由QWidget提升而来)QCameraImageCapture:拍照类1、初始化取景器 view_finder_ = std::make_shared<QCameraViewfinder>(ui.show_widget); view_finder_->resize(ui.show_widget->size());
2022-05-09 17:06:37 693
原创 windows USB存储检测
针对windows下USB存储设备,主要分为检测是否已插入存储设备和实时插入检测. 实时插入检测: 主要是注册windows事件,或者重写Qt的nativeEvent事件.这个比较简单,而且由于策略是定时的检测,所以不太需要实时插入检测.检测是否已插入存储设备: 这边主要分成了三步完善的: 1: 通过GetLogicDrives()获取所有盘符,再逐一利用GetDriveType获取盘符类型,如果是DRIVE_REMOVABLE,即可移动设备.代码...
2021-12-06 09:34:29 977
原创 VS平台下MT与MD的区别
简单一点理解就是多线程/MT是将程序依赖的部分系统库静态链接进你的dll或者exe,而多线程DLL /MD则是依赖于dll(例如:vcruntime140.dll,msvcp140.dll),所以经常可以看到MD程序发布时需要拷贝一大堆的系统库。具体介绍参考下面两份文章:VS项目属性中C/C++运行库 、MT /MTd /MD /MDd_ymxwz的专栏-CSDN博客C Runtime Library 的来历_nodeathphoenix的专栏-CSDN博客对于MT于MD的了解源于我们的d.
2021-11-05 15:54:20 1551
原创 双网卡设置私有DNS服务器
DNS服务器用于解析域名,当需要对私有域名进行解析时,要有私有的DNS服务器。设置私有DNS服务器主要原理为:开启DNS服务,监听本地53端口,对认识的私有域名进行IP替换。设置好私有DNS服务后,添加私有域名www.wang.com,发现有部分机器未生效,于是开始排查。在某文章上看到的一段内容:DNS 客户端的实际行为是,它将按照 DNS 服务器的列出顺序查询它们,直到收到肯定或否定的答复为止。一旦收到答复,无论是肯定的还是否定的,DNS 客户端都会停止查询过程并将该答复返回给调用应用程序
2021-07-08 15:04:17 2497
原创 windows服务守护界面程序
编写windows服务与普通控制台程序相比,入口不同,需要重写某些函数。基本套路都差不多,不过我按照这边的例子写完,服务一直卡在正在启动。这里是在外网找到的一个简单的服务例子,下面程序就是在这个基础上编写的。服务程序写起来比较简单,不过一般大家编写服务都是为了作为守护程序。当主程序挂了后再给它带起来,我这边是为了开机后自启动软件,然后退出服务即可。然而大部分的主程序都是界面程序,直接用ShellExecuteA等windows接口启动界面程序,在任务管理器中能看到进程,但并没有界面。原理:
2021-01-19 20:17:38 1093
原创 Qt国际化
A:Qt界面文字国际化界面文字国际化又分为静态国际化与动态国际化。静态国际化即启动软件时判断当前语言,在main函数或继承自qappliation的类中,加载qm文件。1、将代码中手动设置的文字包上,比如:ui.label->setText(tr("文字"));2、利用creator或者vs的qt插件创建ts文件,通过Qt Linguist打开文件,可以看到所有ui以及代码中使用tr包含的带翻译字符都在这边,手动翻译即可。3、保存+发布,发布后生成qm文件。4、代码中.
2021-01-15 16:47:44 1058
原创 error creating ssl context
出现此错误是使用了Qt的https请求,但QtNetwork库本身不集成openssl,需要依赖单独的openssl库。1、使用Qt版本大于5.12.4如果你的Qt版本在Qt5.12.4之后,事情就比较方便。据查Qt5.12.4之后使用启用1.1.x,名称为libcrypto-1_1.dll 和libssl-1_1.dll。在openssl安装网站,下载win32或64文件,安装后拷贝上面两个库到执行目录下即可。2、使用Qt版小于5.12.4如果你的Qt版本在Qt5.12.4之前,且你的
2021-01-13 11:16:23 1559 2
原创 Qt更改字体为思源黑体
由于微软雅黑字体版权限制,现更改Qt应用程序默认字体为思源黑体-Mdeium黑度。直接在ui环境中更改字体需要运行机安装过思源黑体,故而只能在qrc中添加字体文件SourceHanSansCN-Medium.otf,然后在main函数中动态加载字体文件: int loadedFontID = QFontDatabase::addApplicationFont(":font/SourceHanSansCN-Medium.ttf"); QStringList loadedFontFa...
2020-12-04 16:36:10 6515 12
原创 linux下apt-get install软件出现,E: 未发现软件包
在debian虚拟机中安装库时,总是提示E: 未发现软件包 libXtst-dev,搜索后发现可能是缺少软件源。打开/etc/apt/sources.list,发现所有语句均被注释,搜索了很多,最后使用的Debian镜像使用帮助的使用样例,在sources.list最前方加入 deb http://mirrors.163.com/debian/ stretch main non-free contrib deb http://mirrors.163.com/debian/ stret
2020-08-18 16:25:44 2508
原创 windows下如何编译带SSL/TLS的wsdl2h
gSOAP官方提供的、已编译好的wsdl2h默认是禁用SSL/TLS的,所以不支持HTTPS下载WSDL文件。但就windows下如何编译在网上没找到具体案例。1、安装openssl,可以选择安装包安装(http://slproweb.com/products/Win32OpenSSL.html)2、在vs的项目右键属性,选择C/C++,选中预处理器,加入宏WITH_OPENSSL(启用o...
2020-05-08 10:23:21 1147 2
原创 QLayout动态布局(清空布局)
新写的程序需要动态的改变窗口数量,需要清理原有窗口。在windows下写好代码后放入linux下崩溃。查看Qt文档才发现是写法不规范的问题。先直接摆最终写法: QLayoutItem *item = mainLayout->takeAt(0); while(item != 0) { if(item->widget()) ...
2020-03-16 16:55:14 2754 1
原创 大华NVR接入海康摄像机的设置
海康摄像头接入大华NVR是需要配置的,否则会显示网络错误。1、登陆摄像头IP(一般海康初始IP是192.168.1.64,可以登陆官网下载设备搜索工具)。2、如果需要接入NVR,首先需要在高级配置中选中启用onvif协议,才会有实时视频流。如果需要通过NVR的SDK来对摄像头进行云台控制,则需要将下方的用户列表中的用户类型从视频用户切换到管理员。如果还是不行看一下用户管理...
2020-01-02 10:47:24 14552 2
原创 Qt的设置两个窗口位置重合
QWidget中有很多获取坐标以及坐标转换的函数。总体来说主要是1、相对于屏幕的全局坐标 2,、相对于窗口的相对坐标下面这张图中由于只有一个窗口所有所有的坐标都是全局坐标但是当此窗口中再加入一个子窗口,就复杂很多。对于子窗口来说,所有获取坐标的函数都变成相对坐标了。坐标转换:mapFromGlobal,mapToGlobal,mapToParent移动窗口:movem...
2019-11-13 20:00:08 3048
原创 Qt实现两个窗口重叠,下层播放视频,上次透明显示方框
最近要实现一个功能,在播放着的视频上动态显示方框,类似于深度学习物体识别中经常见到的方框图。如下图:动手!1、下层窗口播放视频,上次透明画方框 setWindowFlags(Qt::FramelessWindowHint); setAttribute(Qt::WA_TranslucentBackground);//窗口设置透明设置完运行 ?! Qt控件在透...
2019-09-27 14:43:04 19616 35
原创 FindResource参数填写
最近要写一个vs资源释放的功能,但一直卡在FindResource这个函数上面,在这边记录一下。FindResource( __in_opt HMODULE hModule, __in LPCWSTR lpName, __in LPCWSTR lpType );第一个参数:处理包含资源的可执行文件的模块HMODULE hInstance...
2019-07-31 16:34:44 9786
原创 C++基础
1,全局,静态,局部变量作用域:生存周期{全局变量:全部文件。程序运行时初始化,程序结束后销毁。静态变量:当前文件。程序运行时初始化,程序结束后销毁。静态局部变量:局部。函数第一次运行时初始化,程序结束后销毁。}2,如何让类只能在栈或堆上初始化原理就在于将栈或堆上初始化的必要函数私有化栈:重载new和delete操作符,设置为protected(防止子类无法使用...
2019-04-15 10:14:31 157
转载 C++虚表
标记:https://www.cnblogs.com/yanqi0124/p/3829964.html总结一下:1,每一个有虚函数的类或者虚继承的子类都有虚表。2,每一个子类继承父类虚表,并补充修改。3,利用父类指针实现多态时调用的是子类的虚表。...
2019-04-03 10:21:18 309
转载 Qt实现截图
使用两种方式截图main.cpp主函数screenShoot类是在main中显示的窗口,接受两种方式截图screen类其实是一个显示全屏截图的QWidget,在此基础上进行部分截图(原理与QQ截图类似,但没做自动窗口捕捉,这需要用到Windows的API。)按下ctrl+c复制到粘贴板。screenCamera类是一个线程中处理在screenShoot主窗口的截图操作(其实就是...
2018-11-13 10:40:40 356
原创 静态全局变量的声明与定义
先引用一段介绍,原文:https://blog.csdn.net/li15809284891/article/details/54923273static:用static修饰的变量,在其所限定的作用域中只会有一分内存1:在一个函数内部:说明是一个静态局部变量,不管这个函数被调用多少次,这个static修饰的变量只会有一分内存,也就是说当这个变量多次被修改,都是在上一次基础上修改,...
2018-09-07 11:11:36 13921
原创 qtcharts中QLineSeries的效率问题
本文是在数据量为2000的基础下的测试结果。测试使用的计时器是头文件 <time.h>中的,精准到毫秒。1、使用运算符"<<",基本上在导入2000个points约需215ms2、使用方法append(),仍需约215ms左右,效率与运算符"<<"差不多3、使用方法replace(),效率明显提升,2000个points仅需2ms。...
2018-09-05 15:34:20 9567 4
原创 Qt树形结构获取点击展开折叠事件
Qt源代码中处理展开折叠是通过函数expandOrCollapseItemAtPos,顾名思义其是通过位置判断一个mousePress事件是否是展开折叠事件。其源代码的函数是private,因此还是需要自己手动根据位置写出判断事件。1,继承QTreeView的MousePressEvent事件,获取鼠标当前位置(event->pos())。2.最主要的函数visualRect(current...
2018-02-08 14:22:52 5066 2
原创 Qt树形结构的拖拽
记录下最近处理Qt树形结构的过程由于对于树形机构item的处理较为复杂,因此采用QTreeView来制作树形结构。对于事件和界面的绘制主要在delegate中完成,由于实现setStyleSheet,所以delegate继承了QStyledItemDelegate。提一点事件要小心返回值,有时候需要return false 因为后面Qt还有部分针对item选中显示刷新的操作。
2018-01-24 15:29:18 4546
原创 QPixmap
QPixmap是为了在屏幕上显示图像而设计和优化的,它可以通过load或者loadFromData读取图片。但也并不是支持所有格式格式描述Qt支持功能BMPWindows位图读/写GIF图片交换格式(可选)读JPG联合图像专家小组读/写JPEG联合图像专家小组读/写PNG便携
2018-01-09 10:15:13 12588
原创 QModelIndex的使用
最近使用QTreeView,一开始对于很多函数中针对item的唯一标识QModelIndex的使用是无从下手,记录下两种对于QModelIdex的使用1,树形结构的item设置为选中QModelIndex rootIndex;QModelIndex robotsIndex;QModelIndex nonMobileIndex;rootIndex = treeView->mode
2018-01-08 12:00:02 45031 2
原创 Qt 事件过滤器
1·重载eventFilter函数(创建过滤器)virtual bool QObject::eventFilter ( QObject * watched, QEvent * event )2·添加installEventFilter()函数(安装过滤器)void QObject::installEventFilter ( QObject * filterObj )
2017-12-06 11:37:44 353
原创 传送带参数
1,初始化if(sim_call_type==sim_customizationscriptcall_initialization) then simSetScriptAttribute(sim_handle_self,sim_customizationscriptattribute_activeduringsimulation,false)//脚本属性,非仿真时
2017-06-01 14:48:49 2512 4
QStackLaout实现窗口重叠,附带事件穿透、位置拖动、设置Qt::FramelessWindowHint大小下的拖拽功能
2024-06-04
client.zip
2021-01-28
result.zip 支持https的wsdl2h
2020-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人