自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 C++父子进程之间匿名管道通信

我司主要业务都是跟工厂合作的,有时需要在自家软件中执行客户给的程序去检查设备,并根据返回值做响应处理,这中间会用到父子进程之间利用匿名管道通信的功能。这类代码多看几遍就明白了,其实我们平时也经常创建进程并且去执行,最典型的就是cmd命令行格式,哪怕只是运行了一个"ipconfig"语句,那也算是创建了进程并执行,或者输入"notepad"就能创建一个新的文本出来,这些都是创建进程的体现。回归主题,有时客户会给我们单独的exe文件,需要在我们的软件中创建cmd进程去执行它并获得返回值,一般的做法如下:1

2020-07-24 17:29:11 1384 1

原创 QT常用的布局方法

不管是QT还是MFC,自动生成的UI文件如果不做处理,默认不能随着鼠标拉伸页面去自适应大小,比如下面是做好的页面:页面被拉伸之后:但是很多页面需要随着鼠标拉伸按照比例改变自身大小的,这个时候就要用到Layout布局了;QT布局有4大类:QBoxLayout, QGridLayout(), QFormLayout, QStackedLayout,它们的父类都是QLayout;其中 QBoxLayout用的多一些,它主要包含两个子类:QHBoxLayout(水平布局), QVBoxLayout(垂

2020-07-14 11:23:43 6675 1

原创 windows平台主线程退出后对子线程的影响

进程与主线程:首先得明确一点,我理解的进程是一个exe文件运行之后的独立资源,每个进程有且仅有一个主线程,进程是负责分配资源的,线程是负责执行资源的(一般可以认为线程的执行时间就是线程调度函数的运行时间),相当于进程是包工头,线程是干活的工人,在后文里,不做特殊说明,子线程统一都是由主线程直接或间接创建的。主线程结束后,其它子线程是立刻退出还是继续执行?答案:主线程退出可能会间接导致子线程退出!但不会直接导致子线程退出!因为主线程退出分两种情况:(1) 不对主线程做任务特殊处理,当其..

2020-06-12 14:04:22 1657

原创 关于MFC消息映射机制流程

以前刚来单位的时候,只知道这是C++岗,来了之后看项目代码死都找不到主函数…后来才发现是MFC,这玩意把int main给封装藏起来了,当然找不到了,囧。MFC和QT的数据传输有些是依赖于对话框和控件的,而这又涉及到一个很重要的机制:MFC消息映射机制(QT的事件其实跟这个差不多,QT是把所有的事件都封装为QEvent的子类了),以前找资源的时候看过黑马的一张图片,还挺不错的:上面几个步骤的文字说明:①操作系统为每个对话框默认建立一个消息队列,这个消息队列肯定是在代码里找不到的,但它确实存在;②每

2020-05-26 15:44:29 383

原创 GetPrivateProFileString系列文本API与注意事项

1.文本读写API(1) 从文本中读取整型数据API:UINT WINAPI GetPrivateProfileInt(LPCSTR lpAppName, LPCSTR lpKeyName, INT nDefault, LPCSTR lpFileName);lpAppName: 指定字段名;lpKeyName: 读取关键字名称;nDefault: 默认返回的整型数据;lpFileName: 文本路径名称;返回值: 读取到的整型数据;作用: 读取文本中指定关键字后面的整数数据,若没有读到数据,

2020-05-26 15:00:06 1675

原创 QT样式表和QSS文件介绍

QT可以使用用跟html一样的样式表去修饰页面,语法也是跟css差不多,在此基础上可以编写qss文件去给控件或页面换肤。(1)设置样式表属性有两种方法:①方法一:在ui文件中修改:右键点击控件,选择"改变样式表…",进入以下界面,可以自行设置,记得一定要点击"OK"或"Apply"再退出:比如我对这个按钮设置了一些基本属性,"color"是文字颜色设置,"background-color...

2020-05-06 14:47:43 1798

原创 C++ TCP服务端一对多

TCP是写通讯软件常用的一种通信方式,以前实习就写过这个,现在工作中基本上都是作为C/S模型中的客户端去跟服务端对接的,今天称项目还没开始忙,把一个完整的服务端一对多模型记录一下(后面有个封装成类的接口,感兴趣的可以自己复制粘贴玩玩);对于TCP服务端,用代码构建有以下几个步骤:(1)启动网络库;(2)绑定服务端套接字;(3)监听服务端套接字;(4)服务端套接字接收客户端连接,之后即可自...

2020-04-30 17:14:10 2414 1

原创 QT按钮双击事件(自定义控件类/类的提升)

QT/MFC中对很多控件进行了封装,常用的消息/事件也都可以很方便地添加,但是有些控件类的消息或者属性,QT/MFC都默认没有提供重写方法,这时就只能定义某个控件的子类,并重写其响应消息/事件/属性,比如我们想定义一个按钮的双击事件,可以按照以下步骤执行:定义一个按钮子类→重写按钮子类窗口的双击事件→在主窗口中使用此按钮子类;(1) 定义一个按钮子类(2) 重写按钮子类窗口的双击事件....

2020-04-24 16:08:52 3220 1

原创 windows下宽字节和多字节的问题

宽字节和多字节,一度是我的噩梦,明明是调用同一个API,但是最后的返回值一会是char *,一会又是wchar_t *,实属烦人,前几天看吕鑫老师的视频,终于弄清楚了。Windows中有两种编码格式:(1) ANSI/多字节编码(每个字符占一个字节);(2) UNICODE/宽字节编码(每个字符占两个字节)。(ANSI是早期的编码格式,各国不统一,所以多种文字一起使用时经常出现乱码,后来为...

2020-04-20 15:00:17 665

原创 MFC重载PreTranslate函数截取消息

如果我们想对系统消息队列中的某个消息自定义其行为,可以选择某个对话框,添加PreTranslateMessage函数并重写;需要注意的点:(1) 只有消息队列中的消息会被PreTranslateMessage所截获,如果是用SendMessage直接向某个对话框发送的消息不会被截获;(2) PreTranslateMessage截获消息之后,当它释放此消息之后,这个消息才能到消息队列中去执行...

2020-03-09 14:04:19 416

原创 MFC中CList使用方法以及项目踩坑

最近项目里一个问题要用到容器存储数据,因为C++的stl容器在MFC中不能用,因为会引起运算符重载,所以只能用MFC中的CList容器,但是csdn上的CList博客都是抄来抄去,也没有具体的用法实例,太恶心了,自己折腾了半天才找到遍历CList容器的方法;1.CList容器基本操作:标题/末尾访问GetHead 返回列表的标题元素(不能为空)GetTail 返回列表的末尾元素(不能为空)...

2020-01-17 11:00:43 4184

原创 MFC线程之间互相发送消息:PostThreadMessage

MFC中可以使用PostThreadMessage指定线程ID单独发送消息,线程也可以用GetMessage函数接收消息;(1)PostThreadMessage函数:PostThreadMessage用法:添加链接描述;函数原型:BOOL PostThreadMessage(DWORD idThread,UINT Msg,WPARAM wParam,LPARAM IParam);(2)G...

2020-01-10 16:34:11 2066

原创 MFC发送自定义消息:SendMessage与PostMesage

1.普通的自定义消息发送步骤:(1)在.h文件声明自定义消息:(2)在.h文件的类中声明消息处理函数:(3)在.cpp文件的消息映射宏里将消息与消息处理函数绑定:(4)在.cpp文件中定义消息处理函数:2.PostMessage和SendMessage发送局部变量的区别:https://blog.csdn.net/u011555996/article/details/933158...

2020-01-10 16:27:57 718

原创 线程与线程同步心得,以及类的成员函数作为线程启动函数的一些问题

线程与线程同步(1)WINDOWS下创建线程的几种方式及其区别相关链接:https://blog.csdn.net/wxq1987525/article/details/6620210https://blog.csdn.net/stven_king/article/details/50353628总结:其实这几种创建线程的方式都是可以的,只不过少数情况下CreateThread不太安全,为...

2019-12-02 10:56:11 360

空空如也

空空如也

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

TA关注的人

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