系统相关功能开发(九)-剪贴板
来源:互联网 发布:淘宝主图素材图片 编辑:程序博客网 时间:2024/06/05 07:45
1.列举剪贴板中数据类型
void CClicpBoardSampleDlg::OnButtonEnumClformat()// 列举剪贴板中数据类型{if(!OpenClipboard())// 打开剪切板{WriteLog("打开剪切板时发生错误");// 输出错误信息,并return;// 返回}WriteLog("剪切板中支持的数据类型有:");// 输出提示信息UINT uiFormat = EnumClipboardFormats(0);// 开始枚举剪切板数据类型TCHARszName[MAX_PATH];// 定义剪切板名称变量while(uiFormat)// 依次循环处理剪切板数据格式{if (uiFormat < 0xc000)// 如果数据类型小于0xc000,则调用GlobalGetAtomNameGlobalGetAtomName((ATOM)uiFormat, szName, MAX_PATH);else GetClipboardFormatName(uiFormat, szName, MAX_PATH);// 否则,调用GetClipboardFormatNameWriteLog("%d=%s", uiFormat, szName);// 输出剪切板格式uiFormat = EnumClipboardFormats(uiFormat);// 枚举下一个格式} CloseClipboard();// 关闭剪切板}
2.启动监视剪贴板
void CClicpBoardSampleDlg::OnButtonMonitor()// 启动监视剪贴板{hNextWnd = SetClipboardViewer();// 将对话框句柄加入剪切板监视列表if( hNextWnd!= NULL) WriteLog("开始监视剪切板复制的内容");// 输出提示信息}
LRESULT CClicpBoardSampleDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) // 消息处理函数{if(message == WM_DRAWCLIPBOARD)// 如果是剪切板复制消息WriteLog("剪切板内容发生变化了");// 输出提示信息return CDialog::WindowProc(message, wParam, lParam);// 调用基类处理函数}
3.停止监视剪贴板
void CClicpBoardSampleDlg::OnButtonCancelMonitor()// 停止监视剪贴板{if( ChangeClipboardChain(hNextWnd))// 将对话框句柄从剪切板监视列表中移除{hNextWnd = NULL;// 重置监视句柄WriteLog("结束监视剪切板复制的内容");// 输出提示信息}}
4.设置剪切板数据
// 21.9.3(OK)void CClicpBoardSampleDlg::OnButtonSetClicp()// 设置剪切板数据{LPSTR pBuf = NULL;// 定义数据区if (!(pBuf = (LPSTR)GlobalAlloc(GMEM_DDESHARE, 50 * sizeof(TCHAR)))) return; // 初始化数据区 if (!OpenClipboard())// 打开剪切板{WriteLog("打开剪切板时发生错误");// 输出错误信息,并return;// 返回}EmptyClipboard();// 清空剪切板CString info;info.Format("通过剪切板传递全局数据iIndex=%d", iIndex);// 输出提示信息iIndex++;// 计数值自增一strcpy(pBuf, info);if (SetClipboardData(CF_TEXT, pBuf))// 设置剪切板内容WriteLog("设置剪切板内容=%s", info);// 输出成功提示信息else WriteLog("设置剪切板内容是失败");// 输出错误提示信息CloseClipboard();// 关闭剪切板}
5.获取剪切板数据
void CClicpBoardSampleDlg::OnButtonGetClicp()// 获取剪切板数据{LPSTR pBuf; if (!OpenClipboard())// 打开剪切板{WriteLog("打开剪切板时发生错误");// 输出错误信息,并return;// 返回}HGLOBAL hGlobal = GetClipboardData(CF_TEXT);// 获取剪切板中CF_TEXT数据 pBuf = (LPSTR)GlobalLock(hGlobal);// 锁定数据区WriteLog("获取剪切板内容=%s", pBuf);// 输出获取的剪切板内容GlobalUnlock(hGlobal);// 解锁数据区CloseClipboard();// 关闭剪切板}
阅读全文
0 0
- 系统相关功能开发(九)-剪贴板
- 系统相关功能开发(八)-消息
- 系统相关功能开发(六)-桌面相关
- 系统相关功能开发(三)-系统控制与调用
- 系统相关功能开发(五)-系统工具
- 系统相关功能开发(七)-系统信息
- 系统相关功能开发(二)-磁盘操作
- 系统相关功能开发(一)-获取磁盘信息
- 系统相关功能开发(四)-应用程序操作
- 系统相关功能开发(十)-鼠标键盘
- 剪贴板相关
- 调用系统相关功能
- iOS开发_iphone 实现剪贴板操作_iphone 复制粘贴功能
- iOS开发_iphone 实现剪贴板操作_iphone 复制粘贴功能
- iOS开发_iphone 实现剪贴板操作_iphone 复制粘贴功能
- iOS开发_剪贴板操作_复制粘贴功能
- iOS开发_iphone 实现剪贴板操作_iphone 复制粘贴功能
- iOS开发_iphone 实现剪贴板操作_iphone 复制粘贴功能
- jrtp3.7和jthread1.2.1版本下载和编译
- poj3026 Borg Maze bfs+最小生成树 prim
- CSDN日报20170825——《迷茫的程序员》
- 通俗易懂让你了解大数据各组件的来源与关系
- 发布项目到Jcenter
- 系统相关功能开发(九)-剪贴板
- Windows+Linux 双系统 grub2 引导问题
- 重新安装JDK后,tomcat 7 无法启动
- UE4学习笔记16th:编辑PawnMovementComponent
- Spring Boot基础知识(三)----配置文件等零碎知识
- subplot画图添加总标题
- 欧几里得的游戏 洛谷p1290
- tab切换控制显示隐藏的超级简单实用方法
- zabbix使用自定义key进行监控