VC++ 通过剪切板获得文档中的图片
2016-01-14 14:51
477 查看
// 利用剪切板获得图片 // 打开剪切板(占用状态,此时进行复制粘贴等操作将无效果) OpenClipboard(NULL); // 清除剪切板内容 EmptyClipboard(); // 不关闭则复制操作不起作用,无法复制到剪切板里 CloseClipboard(); // 取得第一张图 shape = shapes.Item(1); shape.Select(); // 复制到剪切板 selection.CopyAsPicture(); // 打开剪切板,并且剪切板里存在图片 if (OpenClipboard(NULL) && IsClipboardFormatAvailable(CF_BITMAP)) { // 取得剪切板中的图片数据 HGLOBAL hClipBoard = GetClipboardData(CF_BITMAP); if (hClipBoard) { //从剪贴板中取出一个内存的句柄 // 获取内存大小 int nSize = GlobalSize(hClipBoard); //对内存块进行加锁,将内存句柄值转化为一个指针,并将内存块的引用计数器加一,内存中的数据也返回到指针型变量中 data.pchPic = new char[nSize]; memcpy(data.pchPic, GlobalLock(hClipBoard), nSize); // 将数据存储 //将内存块的引用计数器减一 GlobalUnlock(hClipBoard); //关闭剪贴板,释放剪贴板资源的占用权 CloseClipboard(); } } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 如何重装TCP/IP协议
- 关于指针的一些事情
- Windows 8 官方高清壁纸欣赏与下载
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows Clang开发环境备忘
- 从Windows系统下访问Linux分区相关软件
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows下搭建本地SVN服务器
- c++ primer 第五版 笔记前言
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- share_ptr的几个注意点
- 微软镜像下载
- windows server域用户提升到本地更高权限组中的方法
- 使用命令修改注册表键值及权限