Windows 剪切板API详解

(一) ChangeClipboardChain 
将剪贴的连接从一个句柄转到下一个句柄。 
BOOL ChangeClipboardChain( 
HWND hWndRemove, // handle to window to remove 
HWND hWndNewNext // handle to next window 
); 
(1)hWndRemove表 示第一个窗口的句柄(断开)。 
(2)hWndNewNext表示第二个窗口的句柄(连接)。 
注意,在使用之前应该使用 SetClipboardViewer事先进行窗口句柄的连接。 
(二) CloseClipboard 
关闭剪贴板。 
BOOL CloseClipboard(VOID)//VOID意思是空白。 
本函数没有参数,事先应该用OpenClipboard函数打开过剪贴 板。 
(三) CountClipboardFormats 
不管剪贴板是什么格式,全部转化为数据格式。 
int CountClipboardFormats(VOID) 
本函数没有参数。 
(四) EmptyClipboard 
清空剪贴 板。 
BOOL EmptyClipboard(VOID) 
本函数没有参数。 
(五) EnumClipboardFormats 
使剪贴板内的格式转变成指定格式。 
UINT EnumClipboardFormats( 
UINT format // specifies a known available clipboard format 
); 
其中format表示的是将要转化 成的格式。该参数的意义可参照后面。 
(六) GetClipboardData 
获取剪贴板内的数据。 
HANDLE GetClipboardData( 
UINT uFormat // clipboard format 
); 
其中 format表示的是剪贴板内数据的格式。该参数的意义可参照后面。 
(七) GetClipboardFormatName 
获取剪贴板 内数据格式的名称。 
int GetClipboardFormatName( 
UINT format, // clipboard format to retrieve 
LPTSTR lpszFormatName, // address of buffer for name 
int cchMaxCount // length of name string in characters 
); 
(1)format 表示的意义同前,应该是不事先规定格式; 
(2)lpszFormatName表示的是格式名称地址; 
(3)cchMaxCount剪 贴板内数据的长度。 
(八) GetClipboardOwner 
获取当前剪贴板是属于哪一个窗口的句柄。 
HWND GetClipboardOwner(VOID) 
返回那个窗口的句柄。 
(九) GetClipboardSequenceNumber 
返回剪贴板序号。 
DWORD GetClipboardSequenceNumber(VOID) 
(十) GetClipboardViewer 
返回剪贴板属于窗口的句柄。 
HWND GetClipboardViewer(VOID) 
(十 一) GetOpenClipboardWindow 
返回打开剪贴板的那个窗口句柄。 
HWND GetOpenClipboardWindow(VOID) 
(十二) GetPriorityClipboardFormat 
int GetPriorityClipboardFormat( 
UINT *paFormatPriorityList, // address of priority list 
int cFormats // number of entries in list 
); 
(十三) IsClipboardFormatAvailable 
判断剪贴板的格式。 
BOOL IsClipboardFormatAvailable( 
UINT format // clipboard format 
); 
其中format表示的是剪贴板内数据的格式。该参数的意义可参照后面。 
(十四) OpenClipboard 
打开剪贴板。 
BOOL OpenClipboard( 
HWND hWndNewOwner // handle to window opening clipboard 
); 
返回剪贴板的句柄。 
(十五) RegisterClipboardFormat 
注册新的剪贴板格式。 
UINT RegisterClipboardFormat( 
LPCTSTR lpszFormat // address of name string 
); 
lpszFormat新的剪贴板格式名称。 
(十六) SetClipboardData 
设置剪贴板内的数据。 
HANDLE SetClipboardData( 
UINT uFormat, // clipboard format 
HANDLE hMem // data handle 
); 
uFormat 表示的是要放进剪贴板数据的格式; 
hMem表示数据的地址指针。 
(十七) SetClipboardViewer 
将剪贴板内 容连接到窗口。 
HWND SetClipboardViewer( 
HWND hWndNewViewer // handle to clipboard viewer window 
);

参数1为剪切板的数据格式,可以是以下格式:

CF_TEXT 以NULL结尾的ANSI字符集字符串。它在每行末尾包含一个carriage return和linefeed字符,这是最简单的剪切板数据格式
CF_OEMTEXT 含有文字数据(与CF_TEXT类似)的内存块。但是它使用的是OEM字符集。
CF_UNICODETEXT 含有Unicode文字的内存快。与CF_TEXT类似,它在每一行的末尾包含一个carriage return和linefeed字符,以及一个NULL字符(两个0字节)以表示数据结束。CF_UNICODETEXT针对UNICONDE格式
CF_SYLK 包含Microsoft 「符号连结」数据格式的整体内存块。这种格式用在Microsoft的Multiplan、Chart和Excel程序之间交换数据,它是一种ASCII码格式。
CF_DIF 包含数据交换格式(DIF)之数据的整体内存块。用于把数据送到VisiCalc电子表格程序中。这也是一种ASCII码格式
CF_BITMAP 与设备相关的位图格式。位图是通过位图句柄传送给剪贴簿的。
CF_DIB 定义一个设备无关位图的内存块。
CF_PALETTE 调色盘句柄。
CF_METAFILEPICT 以旧的metafile格式存放的「图片」。
CF_ENHMETAFILE 增强型metafile(32位Windows支持的)句柄。
CF_PENDATA 与Windows的笔式输入扩充功能联合使用
CF_WAVE 声音(波形)文件。
CF_RIFF 使用资源交换文件格式(Resource Interchange File Format)的多媒体数据。
CF_HDROP 与拖放服务相关的文件列表。

该数据表使用谷歌自动翻译完成,如果英文较好,可查看MSDN文档:Standard Clipboard Formats(Windows)

windows剪切板api相关推荐

  1. Windows 剪切板的应用——复制浏览器or本地目录图片

    一.简述 最近看了windows的剪切板相关的应用代码,于是乎,便想将浏览器中复制的图片保存到本地,经过尝试,通过以下代码完成在浏览器中右键选择复制图片,然后监控键盘事件,当按下Ctrl + v 时保 ...

  2. windows剪切板的历史记录

    windows剪切板的历史记录 最近遇到一件比较坑的事情.当然可能也是我本人粗心大意了吧.但是这种事情难免要发生.比如说你要移动一个比较重要的东西,然后按了ctrl+x,但是之间因为别的事情耽搁了一下 ...

  3. windows剪切板文本和文件的获取设置

    介绍 windows剪切板的内容包含很多不同的格式,例如:CF_TEXT.CF_BITMAP.CF_METAFILEPICT.CF_SYLK.CF_DIF.CF_TIFF.CF_OEMTEXT.CF_ ...

  4. 如何获取windows剪切板中内容

    一个简单的获取windows剪切板中文本内容的代码 // 获取剪切板中的内容public static String getClipboardText() {Clipboard clip = Tool ...

  5. 如何对Windows剪切板里的内容进行取证分析 Windows剪切板取证

    前言 无论是在现实中对设备进行取证分析,还是在ctf中做取证类的题目,剪切板里的内容都需要去查看,以免遗漏什么重要信息 剪切板位置 剪切板是计算机操作系统提供的一个临时存储区域,用于在不同应用程序之间 ...

  6. 写入windows剪切板,粘贴出来乱码

    操作windows剪切板,写入正常,粘贴出来时候乱码了. 之前的代码: BOOL CopyStringToClipBoard( HWND hOwner, CString strSource ) {if ...

  7. Navigator.clipboard剪切板 API 可用于实现剪切、复制、粘贴的功能。

    剪贴板 Clipboard API 为 Navigator 接口添加了只读属性 clipboard,该属性返回一个可以读写剪切板内容的 Clipboard 对象. 在 Web 应用中,剪切板 API ...

  8. matlab复制矢量图形,Matlab4.2b提供了将wmf格式矢量图复制到Windows剪切板.doc

    Matlab4.2b提供了将wmf格式矢量图复制到Windows剪切板.doc Matlab 4.2b提供了将wmf格式矢量图复制到Windows剪切板的功能,可以将它直接粘贴到Word文档中而不发生 ...

  9. WINDOWS 剪切板操作

    1. 基本API介绍 在WINDOWS SDK 提供的几个剪切板操作函数: OpenClipboard 打开剪切板 CloseClipboard 关闭剪切板 EmptyClipboard 清空剪切板内 ...

最新文章

  1. Computer Systems A Programmer’s Perspective ----阅读翻译日志
  2. C#高级编程----错误和异常的总结
  3. LeetCode 6062. 设计一个 ATM 机器
  4. 怎么计算末年某月某天有几个星期天公司
  5. Docker版本介绍(5)
  6. 拳王虚拟项目公社:闲鱼卖资源还可以卖吗?闲鱼怎么卖虚拟资源?卖什么资源赚钱?闲鱼卖虚拟资源如何赚到钱?
  7. 梯度消失和梯度爆炸_梯度消失和梯度爆炸详解
  8. ArcGIS API For JS实现动态点扩散
  9. 关键词词云怎么做_关键词云图生成器
  10. 51单片机c语言数组怎么用,51单片机之C语言-4.2数组
  11. python视频补帧_视频补帧软件(DAIN APP)
  12. Dockerfile: max depth exceeded
  13. 戴尔要求DEC雇员扔掉Mac
  14. MySql无法连接本地地址localhost
  15. xray 被动_google搜索爬取xray被动扫描
  16. vue导出excel加一个进度条_vue纯前端导出excel表格
  17. 在Ubuntu安装和使用Anbox完整说明(一种在Linux使用Android应用的方法)
  18. 项目管理工具——项目开发者工具
  19. ScrollView和HorizontalScrollView滚动条的简单使用
  20. Java中限定类名和非限定类名的区别

热门文章

  1. 添加@EnableAsync注解后报循环依赖,注入失败咋办
  2. vue实现将自己网站(h5链接)分享到微信中形成小卡片(超详细)
  3. Mac安装office
  4. 立体感怎么画?如何把线条画出立体感?
  5. 2021年暑假教育培训机构招生短信营销技巧大盘点
  6. 测绘程序设计 水准网实验 CSU
  7. 全球网络拓扑测绘这样来实现
  8. 软件本地化测试项目案例研究
  9. 爬去高德地图的公司信息
  10. ArrayList 遍历ArrayList的3种方法,和删除的两种方法