我需要在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#写的,我可以参考一下?
发布于 2009-06-02 17:28:00
您应该改用keybd_event (pinvoke)。您需要使用SetForegroundWindow (pinvoke)将控制台窗口设置为前台窗口,然后调用它。
发布于 2009-06-02 17:48:53
如果我理解正确的话,您可以尝试使用Process.StandardInput属性来发送密钥。要获取进程对象,您可以使用以下GetProcessBy之一...方法。
https://stackoverflow.com/questions/940729
复制相似问题