[源码和文档分享]通过匿名管道获取CMD命令框输出内容

背景

以前有个人咨询我说,要怎么编程实现获取控制台窗口或者是CMD窗口输出的数据内容。当时水平有限,很多知识还不是很了解。但是凭借着有一点基础,而且之前在网络上浏览过相关的技术实现,还有些印象,便回答ta说,可以用匿名管道的方式来实现。

管道是一种用于在进程间共享数据的机制,其实质是一段共享内存。Windows系统为这段共享的内存设计采用数据流I/0的方式来访问。由一个进程读、另一个进程写,类似于一个管道两端,因此这种进程间的通信方式称作“管道”。

管道分为匿名管道和命名管道。匿名管道只能在父子进程间进行通信,不能在网络间通信,而且数据传输是单向的,只能一端写,另一端读。命令管道可以在任意进程间通信,通信是双向的,任意一端都可读可写,但是在同一时间只能有一端读、一端写。

后来,自己想起这件事,开始自己动手实现。没想到真的可以通过创建匿名管道的方式来实现。现在,我就把程序实现的过程和原理整理成文档,分享给大家。

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1932.html

你可能感兴趣的:([源码和文档分享]通过匿名管道获取CMD命令框输出内容)