【问题标题】:How write a file to STDIN Stream using DELPHI?如何使用 DELPHI 将文件写入 STDIN Stream?
【发布时间】:2011-03-23 10:24:22
【问题描述】:

我需要将文件写入标准输入。该文件将被另一个 EXE 访问,该 EXE 将 STDIN 流写入微控制器。

您能否帮助我如何使用 Delphi 2010 将文件写入 STDIN?

非常感谢!

【问题讨论】:

  • 您可以从 STDIN 读取写入 STDOUT
  • @Andreas:我相信他的意思是“写入一个作为另一个进程的标准输入的输出。”
  • @Mason:哦,是的,确实很有可能。

标签: delphi file process stdin pipeline


【解决方案1】:

我认为你的意思是 STDOUT。

Allen Bauer's answer 是你要找的吗?

【讨论】:

    【解决方案2】:

    看起来您正在尝试写入其他 EXE 将视为其 STDIN 流的某种输出。在这种情况下,Serg 提到的 Allen Bauer 的答案很接近,但对你来说还不够。

    有一些 sample code on MSDN 解释了如何做到这一点,但都是用 C 语言编写的,很难阅读。重要的部分是:

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

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

    希望对您有所帮助...

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-14
    • 2012-12-15
    • 2012-09-02
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多