【发布时间】:2021-12-14 17:12:24
【问题描述】:
我正在尝试保存剪贴板的当前值并稍后将其重新设置。
我正在使用GetClipboardData() 来获取剪贴板上的任何内容。但是,我需要知道剪贴板中当前存在哪种数据类型才能调用此函数。
- 是否有我可以使用的通用数据类型?
- 从剪贴板获取数据后,如何使用
SetClipboardData()函数进行设置?
【问题讨论】:
-
您假设剪贴板仅包含一种格式的数据。它可以同时包含所有格式的数据。你可以enumerate。
-
好的,但是如何删除添加到剪贴板的最后一个值并将其恢复到更改之前的状态?
-
一般来说,你不能。您必须完整复制剪贴板上的所有内容,然后擦除整个剪贴板,然后再次重新添加所有内容。对于所有各种可能的格式,包括自定义格式、延迟渲染、OLE 对象等,这并不容易。您所要求的实际上是一个非常复杂的任务,剪贴板并不是真正设计的。您真正想要完成什么?
-
这不相关。答案是“你不能”,无论使用何种编程语言都是如此。
-
@OmerFriedlander "我的程序正在使用剪贴板" - 究竟是为了什么目的? “我不希望它取代我目前在剪贴板中的内容” - 那么使用剪贴板不是解决您的问题的正确方法,不管是什么(您还没有解释) ." 在我的程序使用剪贴板完成后将其保存在剪贴板中并恢复它会不会太复杂" - 是的,实际上,它可能非常复杂,在某些情况下,甚至不可能做到这一点。