GetClipboardData函数以指定的格式从剪贴板中检索数据。剪贴板以前必须打开。
手柄GetClipboardData(
UINT 【UFormat】 | //剪贴板格式 |
); |
参数
【UFormat】
指定剪贴板格式。有关剪贴板格式的说明,请参阅SetClipboardData功能。
返回值
如果函数成功,则返回值是指定格式的剪贴板对象的句柄。
如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.
备注
应用程序可以使用EnumClipboardFormats功能提前枚举可用的格式。
剪贴板控制GetClipboardData函数返回的句柄,而不是应用程序。应用程序应立即复制数据。应用程序不能依赖于长期使用手柄。应用程序不得释放手柄或将其锁定。
当应用程序调用{??989796045}功能时,操作系统会执行某些剪贴板格式之间的隐式数据格式转换。例如,如果CF_OEMTEXT格式在剪贴板上,则窗口可以检索CF_TEXT格式的数据。剪贴板上的格式根据需要转换为请求的格式。下表显示了可用的剪贴板数据类型转换。请注意,其中一些自动类型转换在所有平台上都不可用。
剪贴板格式 | 转换格式 | 平台支持 |
CF_BITMAP | CF_DIB | Windows NT,Windows 95 |
CF_DIB | CF_BITMAP | Windows NT,Windows 95 |
CF_DIB | CF_PALETTE | Windows NT,Windows 95 |
CF_ENHMETAFILE | CF_METAFILEPICT | Windows NT,Windows 95 |
CF_METAFILEPICT | CF_ENHMETAFILE | Windows NT,Windows 95 |
CF_OEMTEXT | CF_TEXT | Windows NT,Windows 95 |
CF_OEMTEXT | CF_UNICODETEXT | Windows NT |
CF_TEXT | CF_OEMTEXT | Windows NT,Windows 95 |
CF_TEXT | CF_UNICODETEXT | Windows NT |
CF_UNICODETEXT | CF_OEMTEXT | Windows NT |
CF_UNICODETEXT | CF_TEXT | Windows NT |
如果操作系统为特定的剪贴板格式提供自动类型转换,则不需要将转换格式放在剪贴板上。
如果系统提供特定剪贴板格式的自动类型转换,并且您调用EnumClipboardFormats来枚举剪贴板数据格式,则操作系统首先枚举剪贴板上的格式,然后列出可转换的格式。
如果剪贴板中包含CF_PALETTE格式的数据,则应用程序应使用SelectPalette和RealizePalette函数在剪贴板中针对该逻辑调色板实现任何其他数据。
有关特定剪贴板数据格式的更多信息,请参阅SetClipboardData.
也可以看看
EnumClipboardFormats, SetClipboardData, RealizePalette, SelectPalette