我有一个 Windows 应用程序,我使用发送键从一个窗口导航到另一个窗口。我的发送键序列就像在我的应用程序中激活另一个窗口,并将击键发送到该窗口。但是我发送的击键在我激活另一个窗口的同一个窗口中得到更新。
但经过几次击键后,它会转到另一个窗口。似乎发送密钥的同步问题。有没有办法指定当前send key的操作完成后,再发送下一个sendkey。
我发现 sendkeys 是不可靠的。请尝试使用输入模拟器。
您是否尝试过使用SendKeys.SendWait。这将等到发送密钥并处理完操作后再继续。
既然窗口在您自己的应用程序中,为什么不提供一组函数来执行这些操作,而不是使用 SendKeys。函数可以在创建并激活窗口后创建窗口,您可以通过处理Activated事件检测到,然后可以使用 SendKeys 将击键发送到新窗口,如果您确实需要,否则在窗口类上再次具有函数您可以调用它来执行击键会引发的操作。您可能可以定义一个您的窗口实现的通用接口来促进这种交互。