我正在尝试为dos实用程序创建GUI包装器应用程序。 当我在控制台中执行我的dos实用程序应用程序(dosapp.exe)时,如下所示:
-------------------------
WELCOME
------------------------
What do you want to do?
1- Type 1 ,For Enter System
2- Type 2 ,Set Properties
3- TYpe 3, Exit
Enter Action:
在我的delphi xe3应用程序中,每个操作都有三个按钮,我使用CreateProcess和Pipes运行dosapp.exe以捕获响应。
我的问题是如何在我的3个按钮脉冲的控制台进程上编写操作,例如,当用户单击button1时我需要发送到正在运行的创建进程(dosapp.exe)writeline(“1”)并获得响应。
我看到了C#的一些例子,这可以通过简单的方法使用进程类并调用Process.StandardInput.WriteLine("1")
但是我不能在delphi上做任何想法或提示。
编辑:最后根据David Heffman评论解决。
答案 0 :(得分:1)
评论中提到的接受的答案:
创建一个管道。确保它的读取结束是可继承的。致电CreateProcess
以启动其他流程。将管道的读取端作为新进程stdin传递。写入管道的写入端。如果你需要捕获标准输出,请反过来做。