如何使用DELPHI将文件写入STDIN Stream?

时间:2010-07-30 19:37:45

标签: delphi file process stdin pipeline

我需要向STDIN写一个FILE。该FILE将由另一个EXE访问,该EXE将在微控制器中写入STDIN流。

你能帮我看一下如何使用Delphi 2010将文件写入STDIN吗?

非常感谢!

2 个答案:

答案 0 :(得分:3)

我认为你的意思是STDOUT。

Allen Bauer's answer是你在寻找什么?

答案 1 :(得分:2)

看起来你正试图写一些其他EXE将看作STDIN流的输出。在那种情况下,Serg提到的Allen Bauer的答案很接近,但对你来说还不够。

有一些sample code on MSDN解释了如何做到这一点,但它全部都在C中,难以阅读。重要的是这个:

调用CreatePipe,它在Windows.pas中声明。前两个参数是THandle变量的 var 参数,CreatePipe将使用读取句柄和管道的写入句柄填充。然后,您需要设置TStartupInfo记录。将管道的读取句柄分配给TStartupInfo的hStdInput字段。

您将TStartupInfo传递给CreateProcess以生成第二个EXE,然后您可以像Allen的示例中那样创建一个THandleStream,并将其传递给管道的写入句柄。这样,您在流中写入的任何内容都会通过管道传输到读取端,以供其他EXE读取。

希望有帮助...