在Windows中是否可以将sendkey命令排队?



我们正在编写一个Python应用程序,它依赖于从顶部窗口复制和粘贴内容。为此,我们发出sendkey命令:Ctrl-Esc用于返回上一个窗口按Ctrl-A,然后按Ctrl-C从窗口复制所有文本按ctrl - v键将剪贴板内容粘贴到顶部窗口。不幸的是,我们有时会遇到时间问题。

是否有办法将SendKey命令排队,以便ctrl - a等待Alt-Esc,然后ctrl - c要等到ctrl - a完成?或者也许有一种方法可以在发送下一个命令之前知道每个命令何时完成?

提前感谢您的帮助

不,我不这么认为。这里讨论的是单独的消息队列。Alt+Esc是一个全局热键,大概由windows资源管理器处理。Ctrl+A和Ctrl+C由源应用程序处理,应该按顺序处理。但是,在Ctrl+C之后会有一个延迟,因为剪贴板必须被锁定、清除和更新,然后剪贴板通知消息被发送到在剪贴板通知链上注册的所有应用程序,以及更新的剪贴板通知API。在所有这些应用程序都有机会对数据做出反应之后,就可以安全地使用Ctrl+ v进行粘贴了。
请注意,如果您正在运行任何类型的远程桌面软件,您还必须等待其他系统对剪贴板通知作出反应,这将包括通过网络同步剪贴板数据。现在你知道为什么这很难了吧。

最新更新