摘要: 1. 核心函数:CreateProcess Windows 中创建进程的 API 是 CreateProcess。它会创建一个新进程和它的主线程,并加载指定的可执行文件。 BOOL CreateProcess( LPCWSTR lpApplicationName, // 可执行文件路径 LPWSTR 阅读全文
posted @ 2026-06-12 14:49 [BORUTO] 阅读(3) 评论(0) 推荐(0)
摘要: 一、什么是消息队列?Windows操作系统使用消息机制来促进应用程序与操作系统之间的通信。每当发生事件(如键盘按键、鼠标移动或系统事件)时,操作系统都会生成相应的消息。这些消息被发送到一个特定的消息队列中,随后由应用程序的消息循环处理。消息队列每个创建了窗口的线程都拥有一个消息队列,用于存储等待处理 阅读全文
posted @ 2026-06-10 15:47 [BORUTO] 阅读(2) 评论(0) 推荐(0)
摘要: 剪贴板:系统维护管理的一块内存区域。 原理:当一个进程在复制数据时,是将数据放到内存区域中,当另一个进程在粘贴数据时,从该内存区域取出数据,显示到窗口上面。 设计界面: 示例代码: // Clipboard.cpp: 定义应用程序的类行为。 // #include "pch.h" #include 阅读全文
posted @ 2026-06-09 23:40 [BORUTO] 阅读(4) 评论(0) 推荐(0)
摘要: 邮槽是一种基于文件的通信机制,通过创建一个具有唯一名称的邮槽对象,进程可以向该邮槽写入消息,而其他进程可以从该邮槽读取消息。邮槽支持广播方式,即多个进程都可以从同一个邮槽读取相同的消息。需要注意的是,邮槽是单向的,只支持从邮槽中读取消息或者向邮槽写入消息,不能同时进行读写操作。此外,邮槽只能用于同一 阅读全文
posted @ 2026-06-09 23:22 [BORUTO] 阅读(4) 评论(0) 推荐(0)
摘要: 在 Windows 系统中,共享内存通过 文件映射对象(File Mapping Object) 实现。 核心思想是: 由一个进程创建一个 命名的内存映射文件; 其他进程通过该名称 打开同一个映射对象; 通过 MapViewOfFile() 函数把这段共享区域映射到自己进程的虚拟地址空间; 各进程即 阅读全文
posted @ 2026-06-09 23:21 [BORUTO] 阅读(5) 评论(0) 推荐(0)
摘要: 信号量(Semaphore)是一个非常重要的同步机制,用于控制多个线程或进程对共享资源的访问。其基本思想是使用一个整数变量来表示可用资源的数量,通过对这个整数的操作来控制资源的分配,从而实现对竞态条件的管理。信号量的操作是原子的,即在一个操作进行的过程中,不会被其他进程或线程中断 。 信号量主要有两 阅读全文
posted @ 2026-06-09 23:20 [BORUTO] 阅读(5) 评论(0) 推荐(0)
摘要: 1、匿名管道 匿名管道是一个没有命名的单向管道,本质上就是一个共享的内存,抽象成是管道。 通常用来在父进程和子进程之间通信。只能实现本地两个进程之间的通信。不能实现网络通信。 匿名管道(Anonymous Pipe):匿名管道是一种无名称的管道,仅限于在父子进程或者兄弟进程之间进行通信。匿名管道只能 阅读全文
posted @ 2026-06-09 22:40 [BORUTO] 阅读(4) 评论(0) 推荐(0)
摘要: 。。。 阅读全文
posted @ 2026-05-30 23:59 [BORUTO] 阅读(9) 评论(0) 推荐(0)
摘要: 1. 引言:为什么界面会“卡死”? 在使用 Qt 开发时,新手常遇到一个问题:点击按钮后,程序开始执行一个耗时操作(如读写大文件、发送网络请求),窗口变得无法拖动、按钮无法点击,甚至标题栏都变灰,直到操作完成才恢复。这种现象被称为“界面卡死”或“无响应”。 罪魁祸首:主线程的事件循环被阻塞。 2. 阅读全文
posted @ 2026-05-24 17:31 [BORUTO] 阅读(26) 评论(0) 推荐(0)
摘要: 下面是一个关于位运算的教程示例,以 A = 60(二进制 0011 1100)和 B = 13(二进制 0000 1101)为例,详细说明按位与(&)、按位或(|)、异或(^)以及取反(~)的运算规则。 1. 按位与(A & B) 规则:对应位都是1时,结果位为1;否则为0。 A: 0 0 1 1 阅读全文
posted @ 2026-05-04 15:15 [BORUTO] 阅读(10) 评论(0) 推荐(0)