窗口 – 管道输出(stdout)从运行进程Win32Api

前端之家收集整理的这篇文章主要介绍了窗口 – 管道输出(stdout)从运行进程Win32Api前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要使用 windows api获取(或管道)已经运行的进程的输出.

基本上我的应用程序应该允许用户选择一个窗口来管道输入,所有输入将显示在控制台中.我也会考虑如何在stderr之后得到一个管道.

重要提示:我没有使用CreateProcess()或其他方式启动该过程.该进程已经在运行,我所有的都是进程的句柄(从GetWindowThreadProcessId()返回).

无论你想做什么,你都做错了.如果您正在与具有源代码的程序进行交互,请为IPC创建一个定义的界面:创建一个套接字,一个命名管道,Windows消息传递,共享内存段,COM服务器或您所喜欢的IPC机制.不要尝试将IPC移植到不想做IPC的程序上.

你无法控制该进程的stdout设置,而不是你的混乱.它是由父母的过程创造的,并交给孩子,从那里开始,它控制着孩子. You don’t go in and change the carpets in somebody else’s house.

甚至没有想到进入这个过程,试图关闭它的stdout,并创建一个新的stdout指向你的管道.这是灾难的秘诀,会导致古怪的行为和“不可能”的崩溃.

即使你能做你想做的事,what would happen if two programs did this

猜你在找的Windows相关文章