使用 win32 api 备份和恢复剪贴板数据

发布于 2024-12-06 16:29:51 字数 384 浏览 0 评论 0原文

我正在寻找 win32 API,它允许我备份剪贴板数据(在内存/文件系统中),稍后我可以使用 SetClipboardData 重置它。

我已经看过 win32 API 集并了解 OpenClipboard、getClipboardData 和 SetClipboardData 可以为我完成任务。但我不明白在 GetClipboardData 函数中传递什么格式参数,因为我不知道该格式,也不知道任何 API 来获取剪贴板数据的格式。

我想支持最大可能的格式,我知道诸如延迟渲染和某些私有数据类型之类的东西可能无法保存。最好的出路是什么,请建议...


我能够备份和恢复文本内容。如何对位图格式执行相同操作。如何从其句柄中将位图基本上保存在内存中(使用 GetClipboardData 获取)

i am looking from win32 APIs which would allow me to make a backup of the clipboard data (in memory/ file system) and later i can reset it using SetClipboardData.

i have seen the win32 API set and understand that OpenClipboard, getClipboardData and SetClipboardData would do the task for me. But i don't understand what format parameter to pass in GetClipboardData function, as i am unaware about the format and don't know any API either to get Format of the Clipboard data.

i want to support maximum possible formats, i know things like delay rendering and some private data types might not be possible to save. What could be the best way out, please suggest...


I am able to backup and restore the text content. how to do the same for Bitmap format. How to basically save the BITMAP in memory from its handle (fetched using GetClipboardData)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

记忆で 2024-12-13 16:29:51

通过调用 EnumClipboardFormats() 查找剪贴板上的格式。调用 GetClipboardData() 获取包含特定格式的剪贴板数据的 HGLOBAL。您可以通过调用GlobalSize()来获取内存的大小。要读取由 HGLOBAL 包装的内存,请使用 GlobalLock()GlobalFree()

Find the formats on the clipboard by calling EnumClipboardFormats(). Call GetClipboardData() to get a HGLOBAL that contains the clipboard data for a particular format. You can get the size of the memory by calling GlobalSize(). To read the memory wrapped by the HGLOBAL use GlobalLock() and GlobalFree().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文