1

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

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

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


我能够备份和恢复文本内容。如何对位图格式做同样的事情。如何从其句柄中基本上将 BITMAP 保存在内存中(使用 GetClipboardData 获取)

4

1 回答 1

1

通过调用在剪贴板上查找格式EnumClipboardFormats()。调用GetClipboardData()以获取HGLOBAL包含特定格式的剪贴板数据的 a。你可以通过调用来获取内存的大小GlobalSize()HGLOBAL读取使用GlobalLock()和包裹的内存GlobalFree()

于 2011-09-26T14:36:04.330 回答