我需要通过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#编写的任何类似的例子我可以参考吗?
答案 0 :(得分:2)
您应该使用keybd_event(pinvoke)代替。您需要使用SetForegroundWindow(pinvoke)将控制台窗口设置为前景窗口,然后调用它。
答案 1 :(得分:1)
如果我正确理解了问题,您可以尝试使用Process.StandardInput属性来发送密钥。要获取Process对象,可以使用GetProcessBy ...方法之一。