从 DLL 写入控制台

发布于 2024-12-16 13:12:32 字数 528 浏览 0 评论 0原文

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

我当前可以打开一个新的调试控制台进行打印,但我希望能够通过管道传输输出,以便我可以运行如下快捷方式:

C:\Windows\System32\cmd.exe /K "C:\Program_Using_the_DLL.exe | C:\Program_to_Pipe_To.exe"

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

也许我可以以某种方式使用 GetStdHandle(),或者是否有某种方式使用 AttachConsole(ATTACH_PARENT_PROCESS)?任何帮助将不胜感激!我对这个细节部分很陌生。

(DLL是用C++编写的)

I have a DLL for a program, and want to be able to run that program in a command line, and then pipe the output of my DLL to another program. How do I do this?

I can currently opening a new debug console to print to, but I want to be able to pipe the output so that I can run a shortcut like:

C:\Windows\System32\cmd.exe /K "C:\Program_Using_the_DLL.exe | C:\Program_to_Pipe_To.exe"

This is different from some similar questions (IE: this one) in that I need to be able to pipe the output, so I need it to come to the current console.

Perhaps I can use GetStdHandle() somehow, or is there someway of using AttachConsole(ATTACH_PARENT_PROCESS)? Any help would be appreciated! I'm new to this nitty-gritty part.

(DLL is written in C++)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2024-12-23 13:12:32

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

Try using the function GetStdHandle(STD_OUTPUT_HANDLE) to get a HANDLE to the current output file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文