如果您使用过GameRanger,则可以更好地理解这个问题。
我希望在Windows上向其他程序(假设我知道它的可执行文件)发送直接输入,例如击键和鼠标点击。
根据this MSDN article,到目前为止,我一直在使用.NET的SendKeys课程。
我定位的程序是另一个.NET应用程序,但我遇到了很多麻烦,因为它打开了大量的窗口,每次都有随机句柄(和名称)。因此,我无法找到一种方法来可靠地验证我想要的特定窗口是否打开。我的解决方案依赖于用户打开它,并集中了正确的输入控件,然后我的应用程序发送了alt + tab并用SendWait *编写了它的东西。
它在大多数情况下都能正常工作,但它与稳健性完全相反。 GameRanger做了类似的事情,但更好。我怎样才能达到同样的可靠性?任何可以在Windows上运行的方法/库都可以,如果它在C#中更好。
*有时,SendWait调用可能会丢失;我没有按照msdn文章中的指示强制执行新的实现,如果没有更好的存在,我会尝试它。