Win Api 有名管道通信--扫雷辅助(四)
有名管道的使用
同linux 下一样 通过有名管道 实现非父子进程(资源继承)关系的 进程间通信(Inter Process Communicate)
无名管道是通过内核进行内存共享 , 而有名管道是通过文件系统进行的
核心代码
m_hPipe = CreateNamedPipe(lpPipeName, PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED, \PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT, 1, 0, 0, 1000, NULL);
API 用于创建一个有名管道 , 并且返回它的句柄
if (ReadFile(m_hPipe, buffer, sizeof(buffer), &ReadNum, NULL) == FALSE)
API 用于读取管道 , 放在线程中轮询吧
CSting m_cmd; // 这里比较重要的一点
WriteFile(m_hPipe, m_cmd.GetString(), m_cmd.GetAllocLength()*2, &writeNum, NULL);
API 用于写管道, 第二个,就是字符串指针, 第三个参数就是 写入字符数
这里有一点 很坑的事情, 由于管道是以字节为单位传递的数据 ,
然而 使用 unicode 之后, 一个字符是两个字节 , 所以这个写入字节数 需要设置为
GetAllocLength() * 2
这样才能完整的把自己的书籍传递过去 , 否则的话,会数据不完整
而导致在管道中滞留,
Win Api 有名管道通信--扫雷辅助(四)相关推荐
- C++有名管道通信简单示例
有名管道,简单的理解可以理解成,一个通过命名不同来实现通信的一种方式. 简单的有名管道实现逻辑如下: * 1. CreateNamedPipe 创建一个有名管道,在系统中 * 2.::ConnectN ...
- 双进程有名管道通信应用实例
更多资料请点击:我的目录 本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢. 要求: p1和p2两个进程通信,用有名管道实现 需要两个管道文件 第一个 ...
- 无名管道(PIPE)与 有名管道(FIFO)
更多资料请点击:我的目录 本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢. 无名管道(PIPE)部分: (1)无名管道的创建: 头文件: #incl ...
- linux进程通信中有名管道的特点,linux进程通信之(四):有名管道的读与写
前面我们说了无名管道,下面我们来说说有名管道,请看下面一段代码: fifo_write.c: #include#include#include#include#include#include#incl ...
- 实验四:《操作系统》之管道通信
Part4. 管道通信 往期回顾: Part0. 实验环境 Part1-1.熟悉UKylin环境 Part1-2.熟悉UKylin环境 Part2.进程控制 Part3.进程通信 一.实验目的 1.了 ...
- C#用WebBrowser与WIN API辅助模拟获取网站完整Cookie
网上找到的可以完整获取Cookie的方法,转载一下希望能帮助更多人. 亲测可用 在Winform中使用WebBrowser控件获取网站的Cookie有时候是不完整的,默认调用Document.Cook ...
- 6.进程通信 无名管道 有名管道
进程间通信(IPC,InterProcess Communication) 概念:就是进程和进程之间交换信息. 常用通信方式 无名管道(pipe) 有名管道 (fifo) 信号(signal) 共享内 ...
- Linux操作系统实验系列之实验四管道通信
一.实验目的 1.了解什么是管道 2.熟悉UNIX/LINUX支持的管道通信方式 二.实验内容: 编写程序实现进程的管道通信.用系统调用pipe( )建立一管道,二个子进程P1和P2分别向管道各写一句 ...
- 【嵌入式总复习】Linux管道详解——管道通信、无名管道、有名管道、具体应用示例
目录 管道 1. 管道通信 1.1 通信模式 1.2 管道通信中特殊的名词 2. 无名管道(PIPE) 2.1 无名管道的通信原理 2.2 无名管道特点 2.3 如何操作无名管道 示例1 示例2 3. ...
最新文章
- IBM推出实时跨境支付解决方案Blockchain World Wire
- border属性的CSS缩写顺序
- 001_Ajax简介
- 干货 | 广电行业数字化时代的「数据破局」指南
- php返回json的结果
- Ubuntu 配置 spark
- 窗口和元素的大小:offset client scroll
- PHP 与Memcache 分布式
- 3、AD使用技巧分享
- Use a production WSGI server instead(搭建web网站出现的问题)
- 神经网络的Dropout正则化
- python情感词典计算得分_利用情感词典计算调研纪要中的情感得分
- ARM:ARM体系结构与编程、ARM指令流水线、ARM编程模型基础
- 通俗理解贝叶斯,全概率定理
- 这是三篇影响百度17年的技术博客,作者李彦宏
- python需要什么样的电脑_学习Python需要配备什么样的电脑
- 使用for循环打印空心菱形图案
- javaScript解决浏览器兼容问题,判断浏览器是ie或者Chrome
- python词频统计GUI(thinter)
- Linux:内存泄漏检测工具--Valgrind
热门文章
- Java黑皮书课后题第10章:*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数
- vs编译应用程序不依赖运行vs环境
- js中父窗口获得模态窗口的返回值
- BZOJ 3907: 网格( 组合数 + 高精度 )
- pdf如何转换成word文档
- 3D Printer 开发进程一。 步进电机升降台设计图纸。
- php5.3开始出现的Function ereg() is deprecated Error问题解决办法
- 嗯?原来if可以调用方法的?
- java 是否继续操作?代码
- DPCM 压缩系统的实现和分析