1. 程式人生 > >[原始碼和文件分享]通過匿名管道獲取CMD命令框輸出內容

[原始碼和文件分享]通過匿名管道獲取CMD命令框輸出內容

背景

以前有個人諮詢我說,要怎麼程式設計實現獲取控制檯視窗或者是CMD視窗輸出的資料內容。當時水平有限,很多知識還不是很瞭解。但是憑藉著有一點基礎,而且之前在網路上瀏覽過相關的技術實現,還有些印象,便回答ta說,可以用匿名管道的方式來實現。

管道是一種用於在程序間共享資料的機制,其實質是一段共享記憶體。Windows系統為這段共享的記憶體設計採用資料流I/0的方式來訪問。由一個程序讀、另一個程序寫,類似於一個管道兩端,因此這種程序間的通訊方式稱作“管道”。

管道分為匿名管道和命名管道。匿名管道只能在父子程序間進行通訊,不能在網路間通訊,而且資料傳輸是單向的,只能一端寫,另一端讀。命令管道可以在任意程序間通訊,通訊是雙向的,任意一端都可讀可寫,但是在同一時間只能有一端讀、一端寫。

後來,自己想起這件事,開始自己動手實現。沒想到真的可以通過建立匿名管道的方式來實現。現在,我就把程式實現的過程和原理整理成文件,分享給大家。


參考文件和完整的文件和原始碼下載地址:

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