1

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

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

非常感谢!

4

2 回答 2

3

我想你的意思是标准输出。

艾伦鲍尔的答案是你在寻找什么?

于 2010-07-30T19:48:57.470 回答
2

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

MSDN 上有一些示例代码解释了如何执行此操作,但都是 C 语言并且难以阅读。重要的部分是:

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

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

希望有帮助...

于 2010-07-30T20:31:08.860 回答