【发布时间】:2018-11-07 13:18:05
【问题描述】:
我们有一个 C++ 应用,它大量使用剪贴板 API OpenClipboard 等。
应用经常保存剪贴板的内容,插入内容,粘贴然后恢复剪贴板。
随着 Windows 10 十月更新,这会导致大量剪贴板历史记录也可能在设备之间同步。
是否有新的api 可以绕过新的剪贴板历史记录?
【问题讨论】:
-
操作系统未针对违规者进行优化。不要滥用剪贴板,以后不会有任何东西需要清理。使用剪贴板的指导很简单:仅在用户主动请求您的应用程序粘贴数据时才使用它。
-
天哪,人们在这里做出如此迅速的判断 - 该应用程序使用户能够为文本(包括 html 和 rtf)创建快捷方式.. 当用户触发快捷方式时,它会被复制到剪贴板中,然后粘贴到活动窗口中 - 全部在用户控制之下,他们完全了解正在发生的事情。为什么人们经常判断某事而不是简单地回答问题?
-
@IInspectable 我没有问我应该使用什么技术来解决特定问题。我无法理解您如何声称知道我的应用程序为什么会以这种方式运行。为什么这里有些人打算做出判断(不知道您不需要回答问题的全貌)而不是简单地回答问题???
-
实际上我没有做错 - 你指的是不同的问题 我不能使用 UI 自动化的众多原因之一是因为接收应用程序(任何接受粘贴的应用程序)需要能够从剪贴板上显示的各种格式(纯文本、图像、rtf、html)等中自行选择。所有这些都需要对接收客户端可用..除非我弄错了,否则没有 api 可以让我与外部应用程序通信并为其提供一些数据,并让它告诉我它想要该数据的格式!说得够多了。
-
查看github.com/dlech/KeePass2.x 可能会有所帮助,KeePass 实现了历史记录中不包含的选项,他们在 C# 中使用 Windows.ApplicationModel.DataTransfer 中的 ClipboardContentOptions,应该可以在 C++ 中使用也是。