Delphi 将返回密钥发送到模拟控制台应用程序

Delphi 将返回密钥发送到模拟控制台应用程序,delphi,Delphi,我正在使用delphi向控制台应用程序添加图形界面。 问题是当控制台应用程序请求输入时。 我通常会输入我的输入,然后按enter键让它接受我的字符串,但我不知道怎么做 我使用这个库作为控制台应用程序的“包装器”,它使用管道作为输入和输出流。 我尝试过WriteToConsoleApp(#04);发送EOT,即Control-D。这通常会起作用,但在这种情况下,它不起任何作用。 我也尝试过WriteToConsoleApp(#13);写入控制台P(#13#10);,但这些解决方案都不管用 如果您

我正在使用delphi向控制台应用程序添加图形界面。 问题是当控制台应用程序请求输入时。 我通常会输入我的输入,然后按enter键让它接受我的字符串,但我不知道怎么做

我使用这个库作为控制台应用程序的“包装器”,它使用管道作为输入和输出流。

我尝试过WriteToConsoleApp(#04);发送EOT,即Control-D。这通常会起作用,但在这种情况下,它不起任何作用。 我也尝试过WriteToConsoleApp(#13);写入控制台P(#13#10);,但这些解决方案都不管用


如果您有任何建议,我将不胜感激。

您可以使用SendMessage或PostMessage函数将字符串/键发送到控制台应用程序。 比如,

SendMessage(WindowHandle, WM_CHAR, Ord('A'), 0);//sends 'A' to the window


引用的库在2007年以上的Delphi版本上不起作用,这实际上是一个遗憾,因为它是一个非常好的库。控制台程序是使用
CREATE\u NO\u窗口
标志创建的。没有地方发送这些消息。也许我可以更改它,使输入流位于隐藏窗口中。
PostMessage(WindowHandle, WM_KEYDOWN, VK_RETURN, 0);//sends Return to the window