2010-08-18 173 views
2

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

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

我试过像WriteToConsoleApp(#04)的东西;发送一个EOT,这是Control-D。这通常会起作用,但在这种情况下它什么都不做。 我也试过WriteToConsoleApp(#13); WriteToConsoleApp(#13#10);但这些解决方案都不起作用。

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

+0

引用的库不德尔福版本在2007年 – Nowayz 2010-08-18 00:47:23

+0

工作,实际上是一种耻辱,因为它是一个非常好的图书馆。 – zz1433 2010-08-18 08:36:11

回答

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 
+0

控制台程序是使用CREATE_NO_WINDOW标志创建的。没有地方发送这些消息。 – 2010-08-18 10:41:51

+0

也许我可以改变它,使输入流在一个隐藏的窗口。 – Nowayz 2010-08-18 17:09:30

相关问题