从DLL写入控制台

Writing to Console from DLL

本文关键字:控制台 DLL      更新时间:2023-10-16

我有一个程序的DLL,并希望能够在命令行中运行该程序,然后将我的DLL的输出管道到另一个程序。我该怎么做呢?

我目前可以打开一个新的调试控制台来打印,但是我希望能够通过管道输出,这样我就可以运行一个快捷方式,如:

C:WindowsSystem32cmd.exe /K "C:Program_Using_the_DLL.exe | C:Program_to_Pipe_To.exe"

这与一些类似的问题(例如:这个问题)不同,因为我需要能够管道输出,所以我需要它到达当前控制台。

也许我可以使用GetStdHandle()以某种方式,或者有使用AttachConsole(ATTACH_PARENT_PROCESS)的某种方式?任何帮助将不胜感激!我对这些细节还是个新手。

(DLL用c++编写)

尝试使用GetStdHandle(STD_OUTPUT_HANDLE)函数将HANDLE获取到当前输出文件。