将返回键发送到模拟控制台应用程序

时间:2010-08-18 00:41:51

标签: delphi

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

我使用这个库作为控制台应用程序的“包装器”,它使用管道作为输入和输出流。 http://koders.com/delphi/fidDB05C6361540F62D532FC7C960D4111CE3AAEDB3.aspx?s=proxy

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

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

1 个答案:

答案 0 :(得分:1)

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

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

PostMessage(WindowHandle, WM_KEYDOWN, VK_RETURN, 0);//sends Return to the window