1

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

有没有办法让 SendKey 命令排队,以便 Cntl-A 等待 Alt-Esc,然后 Cntl-C 等到 Cntl-A 完成?或者也许有一种方法可以在发送下一个命令之前知道每个命令何时完成?

预先感谢您的帮助。

4

1 回答 1

0

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

于 2013-05-17T13:09:26.580 回答