C#SendKey到MS-DOS应用程序

时间:2009-06-02 17:10:35

标签: c# legacy

我需要通过C#中的SendKey来驱动传统的DOS应用程序。但是,我发现它没有用。

http://www.vbforums.com/showthread.php?t=39626开始,我知道SendKey并不适用于MS-DOS应用程序。调用SendKey时,所有MS-DOS应用程序都接收“\”。

然而,论坛指向MSDN Article 142819,它利用剪贴板将密钥推送到MS-DOS应用程序。给出了VB样本,但我不知道如何将其转换为C#。

任何人都知道或者知道用C#编写的任何类似的例子我可以参考吗?

2 个答案:

答案 0 :(得分:2)

您应该使用keybd_eventpinvoke)代替。您需要使用SetForegroundWindowpinvoke)将控制台窗口设置为前景窗口,然后调用它。

答案 1 :(得分:1)

如果我正确理解了问题,您可以尝试使用Process.StandardInput属性来发送密钥。要获取Process对象,可以使用GetProcessBy ...方法之一。