- 博客(62)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 vs2022 启动之后崩溃解决方案
因为加载了vs2022的番茄助手,该助手在安装的时候有个dll (PiaoYun64.dll)报毒,我把windows自带的杀软关掉了扫描。昨天晚上电脑自动更新之后给我杀软自动打开了,导致PiaoYun64.dll被删除。重新关闭杀软,然后拷贝一个PiaoYun64.dll进去。重启vs,一切正常。今天早上一打开vs就崩溃。后来发现关闭番茄就行了。
2024-08-14 18:06:27
361
原创 Qt全局快捷键QGlobalHotKey的自研之路
这两天对Qt的快捷键格外感兴趣。前两天在使用QHotKey的过程中,发现不能定义小键盘键盘码,自己二次修改了该库之后已经可以设置小键盘快捷键了。。昨天突发奇想:目前所有的快捷键,都是由组合键和键盘码组合而成的。在快捷键的使用上有很大的限制。对应一些工作繁忙,或者使用较多快捷键的情况下反而不够。所以能不能有这样一种快捷键,无视组合,就算单个字符或者数字都能作为快捷键的使用呢?这里肯定要考虑,如果单个按作为快捷键的话,改键就不能做为正常键使用了。
2024-06-13 16:03:04
643
1
原创 Qt第三方库QHotKey设置小键盘数字快捷键
这两天在研究快捷键的使用。发现qt的里的快捷键不是全局的。找了两个第三方快捷键QHotKey,还有一个QxtGlobalShortcut。但是这两个都不能设置小键盘的数字。比如QKeySequenceEdit (Ctrl+1) 这个快捷键,这个1只会响应主键盘的数字1对应的键盘码是0x31.而小键盘的1键盘码是0x61.所以就算是设置成功了,再按快捷键的时候也是响应的主键盘的,按小键盘没用。仅有的0x60也是对应 Qt::Key_QuoteLeft并不是对应的小键盘的。
2024-06-11 16:51:50
1473
原创 基于MFC的直播软件开发
在服务端完成直播功能,视频采集和音频采集。通过TCP通信,在客户端展示服务器的视频喝音频画面,以及群聊功能。该协议个人认为是TCP的万能协议(char* data 也可以指向结构体)。用MFC的基于对话框的工程,对资源中的dialog进行界面布局调整。完成tcp通信搭建,完成对文字,视频以及音频的传输。3、视频采集用的opencv。4、声音是采集的声卡信息。2、构建TCP通信协议。基于MFC的界面搭建。
2024-05-30 16:13:54
312
原创 windows网络知识梳理(1)--基础知识
在 T C P / I P协议族中,有两个 互不相同的传输协议:T C P(传输控制协议)和U D P(用户数据报协议)。T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分 成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟 等。在 T C P / I P协议族中,网络层协议包括 I P协议(网际协议),I C M P协议(I n t e r n e t互联网控 制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。
2024-05-30 15:56:44
235
原创 Qt跨平台(统信UOS)各种坑解决办法
后面我重新梳理了一下 应该是库文件的问题,然后看了一下linux环境。在PATH里后面最后面的才是qt的库文件。windows有 windeployqt 打包工具,我想着qt包里应该也有linuxdeployqt.查找了一下没有。windows都可以的,在他下面就是有问题。这样的话可以优先从qt的库拉依赖而不是从系统中拉。然后添加qt的环境。就像windows中系统环境变量 根据自己的qt环境来。本人用的是qt 5.14.2.直接在官网下载即可。记录Qt跨平台的坑,方便日后翻阅。在最后面添加上图的代码。
2023-10-26 11:10:38
810
原创 十二、windows网络知识梳理(12)--进阶知识流量监控-Winpcap
winpcap 是不能嗅探本地回环包的,不像npcap可以直接检索单本地的LoopBack(127.0.0.1)如果非要的话,也是有两种方法的。1、把本地包的下一跳直接设置成网关的,本地宝就会通过网卡到网关,这样就能捕捉到了。详细教程可以参考这里。该方式把所有本地包都从网关过了一下,导致效率低了。2、导出wpcap.dll的导出函数。重新设计。
2023-03-24 17:24:32
864
原创 SDL2.0 + FFmpeg实现视频播放器
之前写了一个SDL+FFmpeg的视频播放器,仔细的人可以发现其播放窗口无法拖拽,现在加入SDL的事件控制,来对其做优化// 基于FFmpeg用SDL实现一个视频播放器(.h264)///*AVFormatContext:统领全局的基本结构体。主要用于处理封装格式(FLV/MKV/RMVB等)。AVIOContext:输入输出对应的结构体,用于输入输出(读写文件,RTMP协议等)。AVStream,AVCodecContext:视音频流对应的结构体,用于视音频编解码。AVFrame:存储
2022-03-28 14:47:43
717
1
原创 SDL,ffmpeg实现简单视频播放器
看了雷神的一些文章和解释,自己重新实现了一下相关代码的东西,做为加深。一起在音视频领域加油咯!// 基于FFmpeg用SDL实现一个视频播放器(.h264)///*AVFormatContext:统领全局的基本结构体。主要用于处理封装格式(FLV/MKV/RMVB等)。AVIOContext:输入输出对应的结构体,用于输入输出(读写文件,RTMP协议等)。AVStream,AVCodecContext:视音频流对应的结构体,用于视音频编解码。AVFrame:存储非压缩的数据(视频对应
2022-03-18 09:16:55
3840
2
原创 SDL2.0 展示图片
看了很久雷神的FFmpeg ,发现需要SDL的技术也比较多 。就总结了一下。在复杂的SDL内容也是这几个构成的。2.0比1.0内容变化的还比较大 主要参考了这几篇文章SDL1.2到2.0的迁移指南_蓝黑墨水的博客-优快云博客// SDL.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>extern "C"{#include "SDL.h"#include "SDL_main.h"};int .
2022-03-16 19:19:01
388
原创 关于那些乱套的网络总结
最近在做一些各种诡异的socket相关的测试 结果如下用send recv收发UDP包 (OK)用sendto recvfrom 收发TCP包(OK)connectex (OK)wsasendmsg(UDP)wasrecvmsg(UDP)rawsocket等以及一些网络模型, select asyncselect eventselect iocp等其实都是为了自测LSP 哈哈注意:0.用send recv收发UDP包的时候要先connect1.用sendto.
2021-11-18 09:19:25
449
原创 80x86 中断向量表
1 -- 关于中断向量的几点注释1. 系统引导时,中断向量表放在内存何处? 系统刚引导时,内存0x00000到0x0003FF共1KB的空间用于存放中断向量表。每个中断向量占用4个字节,共可存储256个中断向量。2. 系统引导时,处在实模式下,只可寻址1MB,为什么要用4个字节来寻址中断呢处理程序? 刚看到的时候,我也很纳闷。我们都知道编程的时候指针都是4个字节
2017-06-07 12:23:29
2456
1
原创 adb操作命令详解及大全
转载自http://blog.youkuaiyun.com/janronehoo/article/details/6863772/adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TC
2017-05-15 10:02:15
481
转载 PE文件结构详解(六)重定位
前面两篇 PE文件结构详解(四)PE导入表 和 PE文件结构详解(五)延迟导入表 介绍了PE文件中比较常用的两种导入方式,不知道大家有没有注意到,在调用导入函数时系统生成的代码是像下面这样的:在这里,IE的iexplorer.exe导入了Kernel32.dll的GetCommandLineA函数,可以看到这是个间接call,00401004这个地址的内存里保存了目的地址,根据
2017-05-11 14:36:02
362
转载 PE文件结构详解(五)延迟导入表
by evil.eagle 转载请注明出处。http://blog.youkuaiyun.com/evileagle/article/details/12718845 PE文件结构详解(四)PE导入表讲了一般的PE导入表,这次我们来看一下另外一种导入表:延迟导入(Delay Import)。看名字就知道,这种导入机制导入其他DLL的时机比较“迟”,为什么要迟呢?因为有些导入函数可能使
2017-05-11 14:35:16
405
转载 PE文件结构详解(四)PE导入表
PE文件结构详解(二)可执行文件头的最后展示了一个数组,PE文件结构详解(三)PE导出表中解释了其中第一项的格式,本篇文章来揭示这个数组中的第二项:IMAGE_DIRECTORY_ENTRY_IMPORT,即导入表。也许大家注意到过,在IMAGE_DATA_DIRECTORY中,有几项的名字都和导入表有关系,其中包括:IMAGE_DIRECTORY_ENTRY_IMPORT,IMAGE_D
2017-05-11 14:34:38
412
转载 PE文件结构详解(三)PE导出表
上篇文章 PE文件结构详解(二)可执行文件头 的结尾出现了一个大数组,这个数组中的每一项都是一个特定的结构,通过函数获取数组中的项可以用RtlImageDirectoryEntryToData函数,DataDirectory中的每一项都可以用这个函数获取,函数原型如下:PVOID NTAPI RtlImageDirectoryEntryToData(PVOID Base, BOOLEAN
2017-05-11 14:32:45
294
转载 PE文件结构详解(二)可执行文件头
by evil.eagle 转载请注明出处。http://blog.youkuaiyun.com/evileagle/article/details/11903197在PE文件结构详解(一)基本概念里,解释了一些PE文件的一些基本概念,从这篇开始,将详细讲解PE文件中的重要结构。了解一个文件的格式,最应该首先了解的就是这个文件的文件头的含义,因为几乎所有的文件格式,
2017-05-11 14:31:08
424
转载 PE文件结构详解(一)基本概念
by evil.eagle 转载请注明出处。http://blog.youkuaiyun.com/evileagle/article/details/11693499PE(Portable Execute)文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任何扩展名。那Windows
2017-05-11 14:29:34
367
原创 驱动层双机调试,文件保护,进程保护
最近在驱动层 做了三个东西 1、双机调试 win764 + 虚拟机win7 64 用的VirtualKD-3.0 (比串口那种通信好的多) 具体教程网上很多。2、文件保护用的 minifliter,过程中,遇到的问题是用NT驱动加载minifilter 加载不上,用wdm驱动就能加载上。想要用NT 驱动加载上,需要创建服务之后,启动服务之前写注册表。具体方法参考这个链接 点击打开链
2017-04-27 13:45:31
1947
转载 完成端口IOCP详解
本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后,终于决定开始动笔了,但愿还不算晚….. 这篇文档我非常详细并且图文并茂的介绍了关于网络编程模型中完成端口的方方面面的信息,从API的用法到使用的步骤,从完成端口的实现机理到实际使用的注意事项,都有所涉及,并且为了让朋友们更直观的体会完成端口的用法
2017-03-31 17:13:47
915
原创 键盘硬件原理
键盘和CPU的交互方式是中断和读取端口,这个操作是串行的.CPU只接收通知并读取端口的扫描码,这个通知只能知通知一个事件:某个键被按下或弹起. 为此一个键实际需要两个扫描码:一个表示按下,一个表示弹起.如果按下的扫描码为X,则弹起的扫描码为X+0x80. 键盘端口在xp下端口和中断号都是定死的,即中断号为0x93,商品号为0x60.每次0x93中断发生,CPU都去读取0x60中的扫描码
2017-03-20 13:50:53
2276
原创 PE文件代码段特征码扫描 以及进程代码段扫描
好久没写博客了 今天好累 休息一下 想起来写个博客 (未加壳文件)最近在做PE文件的特征码扫描 刚开始的时候一头雾水 因为对PE文件的格式不是很了解 之前虽然看过一些PE文件的帖子 但是都是看不下去 现在针对这几天的努力 贴上我对PE文件特征码扫描的一些见解 方法和代码1、PE文件特征码扫描 a). 读文件 判断是否是PE格式的文件读文件,文件的开始
2017-03-16 21:27:37
3543
原创 PE文件格式解析
最近工作需要用到PE特征,就了解了这方面的东西,搜了很多东西,发现这篇帖子很全面,再对照上PE文件格式的图片,这个帖子 我看了一个小时 ,算是对PE有了一定的了解。发现,PE文件好多东西都存在着里面。接下来是正贴 在这里很感谢 这篇帖子:http://www.cnblogs.com/Bachelor/archive/2013/07/24/3210748.htmlPE文
2017-03-11 10:48:10
1988
原创 一个标准的远线程注入dll函数
最近在整理学习 觉得这个很高深,弄懂了觉得也就那样。下面的代码就是远线程dll注入线程代码//===========================================================================// 一个标准的远线程dll注入函数//=============================================
2017-03-09 09:45:13
456
原创 函数返回局部变量的几种情况
本文主要详细讨论了返回返回局部变量的几种情况,值得大家注意。 一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不
2017-02-10 12:38:12
514
转载 DeviceIOControl详解-各个击破
DeviceIoControl这个api我们用的不多,但是很重要,有时会帮助我们实现一些特别的需求, 如获取硬件设备信息、与硬件设备通信(读写数据)等,对照msdn,下面我们详细解释一下这个api的用法(有什么错误再所难免,各位不吝指教啊)。DeviceIoControl是用来控制我们指定设备的输入输出操作,使设备按照我们发的指令去工作。DeviceIoControl是kernel32
2017-02-10 10:14:30
600
转载 xml文件的读写
xml文件的读取和写入主要又两种,一种是XMLDocument,另一种是XMLtextwriter/xmltextreader。1、XMLtextwriter/xmltextreader 读取程序: string path="myxml.xml"; string str = "";
2016-07-15 22:29:58
626
转载 QT QTableView用法小结
QTableView常用于实现数据的表格显示。下面我们如何按步骤实现学生信息表格:一 添加表头 //准备数据模型 QStandardItemModel *student_model = new QStandardItemModel(); student_model->setHorizontalHeaderItem(0, new QStandardItem(
2016-07-07 14:32:29
951
转载 C11 新特性
赖勇浩(http://laiyonghao.com)声明:本文源自 Danny Kalev 在 2011 年 6 月 21 日发表的《The Biggest Changes in C++11(and Why You Should Care)》一文,几乎所有内容都搬了过来,但不是全文照译,有困惑之处,请参详原文(http://www.softwarequalityconnection.com/2
2016-07-06 17:28:03
3007
原创 对于C11新特性 lambda函数的一点见解
这两天用到lambda函数了 才了解了一点C11特性之一的 lambda函数// testestset 为类的成员对象。 下面这样写会报错view->page()->runJavaScript("savepoints()", [](const QVariant &v){ qDebug()testestset;});这是一个Qt调用JS获取
2016-07-06 17:06:27
823
原创 QString 转double,double转QString 中的小数点问题
我们在编程过程中总是遇到一些小数点的问题很烦人,现在我就来说一下。1.double 转QString 小数点问题double data = 40.215586810458;QString str = QString::number(data,'f',10); // f 表示非科学记数法 10表示小数点后保留10位2.QString 转 double
2016-07-05 17:01:06
30908
原创 QT 解析JSON
// JS 返回的是 points (经纬度) view->page()->runJavaScript("savepoints(\'filePathSelect'\)", [](const QVariant &v){ QString str = v.toString(); qDebug()str; QJsonParseError json_
2016-07-05 16:09:54
401
转载 QWebEngineView与js交互
Qt新版本使用QWebEngineView来展示html页面对QWebView不再进行维护了,QWebEngineView使用chromium内核将带来更好的用户体验。对QWebView感兴趣的可以参考:http://blog.youkuaiyun.com/tujiaw/article/details/50372892C++调用js很简单m_view->page()->runJav
2016-07-02 11:06:17
3185
转载 重载QwtPlot类编译错误,需宏定义QWT_DLL才能使用QWT抛出类
在使用QWT进行二维曲线绘制,使用方法如下:class Plot: public QwtPlot{ Q_OBJECT……}此时报错:error LNK2001: 无法解析的外部符号"public: static struct QMetaObject const QwtPlot::staticMetaObject"出现这样的连接错误一般都是
2016-06-16 13:02:30
708
2
原创 Qt调用qt生成的dll 显式和隐式(静态动态)
昨天突然想到 :接触了这么久的qt了 dll(动态链接库)还没有用过就打算事件一下 差了半天资料 感觉网上没有一片文章讲述的全面详细,于是就有个这篇博客。环境:win7+qt5.3.2开始:一、qt生成dll1.建立生成dll的工程,选择C++库然后就是写动态库的函数。2.在这里我要做个详细的解释:如果你要隐式的调用dll的话,就直接把函数写成q的类成员函数
2016-05-27 17:01:37
5012
原创 QWebView加载并显示本地网页
QWebView 显示本地HTML文件的时候,如果直接使用[cpp] view plain copywebView->load(QUrl(QString("file:///c:\\a.html")); 可能会导致a.html中有些使用相对路径的图片、js文件不能正常加载。使用如下代码即可
2016-05-25 14:36:55
2803
1
转载 Google 地图切片URL地址解析
一、Google地图切片的投影方式瓦片索引机制1.地图投影Google地图采用的是Web墨卡托投影(如下图),为了方便忽略了两极变形较大的地区,把世界地图做成了一个边长等于赤道周长的正方形(赤道长度为6378137米),原点在正方形中心,即经纬度为(0,0)处。Web墨卡托投影的X,Y坐标取值范围为:[-20037508.3427892,20037508.3427892],对应的经度取
2016-05-19 09:40:08
1416
百度图片识别 工具 打开就能用
2018-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人