我有一个Windows应用程序,我使用发送键从一个窗口导航到另一个窗口。我的发送键序列就像在我的应用程序中激活另一个窗口,并将键击发送到该窗口。但是我发送的关键笔划是在我激活另一个窗口的同一个窗口中更新。
但经过几次击键后,它会转到另一个窗口。似乎与发送密钥的同步问题。在发送下一个发送密钥之前,有没有办法指定当前发送密钥的操作完成。
答案 0 :(得分:2)
我发现sendkeys只是不可靠。请改为使用input simulator。
答案 1 :(得分:0)
您是否尝试过使用SendKeys.SendWait。这将等到发送密钥并在执行之前处理操作。
由于窗口在您自己的应用程序中,为什么不提供一组函数来执行操作而不是使用SendKeys。一旦窗口处于创建和活动状态,您可以通过处理Activated事件来检测功能,然后您可以使用SendKeys将键击发送到新窗口,如果您确实需要,则可以创建窗口,否则再次具有功能在窗口类上,您可以调用它来执行键击将导致的操作。您可以定义窗口实现的公共interface以促进此交互。