在Windows中可以对sendkey命令进行排队吗?

2024-04-28 07:59:08 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

提前谢谢你的帮助。在


Tags: 文本命令应用程序内容粘贴时间排队ctrl
1条回答
网友
1楼 · 发布于 2024-04-28 07:59:08

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

相关问题 更多 >