0
我有一個應用程序,我想運行另一個基於控制檯的exe文件並讀取該控制檯應用程序的輸出?假設控制檯應用程序是使用printf
編寫的第三方exe文件。讀取應用程序的輸出
我有一個應用程序,我想運行另一個基於控制檯的exe文件並讀取該控制檯應用程序的輸出?假設控制檯應用程序是使用printf
編寫的第三方exe文件。讀取應用程序的輸出
使用CreateProcess()
來運行控制檯應用程序,然後您可以使用STARTUPINFO
結構來指定控制檯使用自己的STDIN/OUT/ERR句柄。通過CreatePipe()
爲此創建匿名管道,然後根據需要使用ReadFile()
和WriteFile()
讀取/寫入管道。
有MSDN上的例子:
你可以用'CreateProcess'做到這一點 - 看到http://msdn.microsoft.com/en-us/library/windows/desktop/ms682499 (v = vs.85).aspx – benjymous
目前我正在使用CreateProcess啓動第三方exe,但鏈接說我也在childExe中進行了更改。這意味着在第三方EXE這是不可能的。 – CrazyC
@CrazyC AFAIK,你不需要修改子exe文件。它在哪裏說呢? (示例中的管道通信位是針對特定示例的 - 「printf」也應顯示在父級中。) – molbdnilo