如何在Windows上将直接输入发送到另一个程序?

时间:2016-09-21 13:29:13

标签: c# input

如果您使用过GameRanger,则可以更好地理解这个问题。

我希望在Windows上向其他程序(假设我知道它的可执行文件)发送直接输入,例如击键和鼠标点击。

根据this MSDN article,到目前为止,我一直在使用.NET的SendKeys课程。

我定位的程序是另一个.NET应用程序,但我遇到了很多麻烦,因为它打开了大量的窗口,每次都有随机句柄(和名称)。因此,我无法找到一种方法来可靠地验证我想要的特定窗口是否打开。我的解决方案依赖于用户打开它,并集中了正确的输入控件,然后我的应用程序发送了alt + tab并用SendWait *编写了它的东西。

它在大多数情况下都能正常工作,但它与稳健性完全相反。 GameRanger做了类似的事情,但更好。我怎样才能达到同样的可靠性?任何可以在Windows上运行的方法/库都可以,如果它在C#中更好。

*有时,SendWait调用可能会丢失;我没有按照msdn文章中的指示强制执行新的实现,如果没有更好的存在,我会尝试它。

0 个答案:

没有答案