新建一个对话框工程;

双击按钮,让你输入单击的成员函数名称,然后进入代码编辑;

void CJieqieDlg::OnButton1()
{// TODO: Add your control notification handler code hereif( !OpenClipboard() ){AfxMessageBox( _T("Cannot open the Clipboard!") );return;}if( !EmptyClipboard() ){AfxMessageBox( _T("Cannot empty the Clipboard!") );return;}// 取回当前控件的数据,hData开辟全局内存区域,存放数据CString str;this->GetDlgItemText( IDC_EDIT1, str );size_t cbStr = (str.GetLength()+1)*sizeof(TCHAR);HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);//memcpy_s( GlobalLock(hData), cbStr, str.LockBuffer(), cbStr );memcpy( GlobalLock(hData), str.LockBuffer(), cbStr );GlobalUnlock( hData );str.UnlockBuffer();UINT uiFormat = (sizeof(TCHAR)==sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;if(::SetClipboardData( uiFormat, hData ) == NULL ){AfxMessageBox(_T("Unable to set Clipboard data"));CloseClipboard();return;}CloseClipboard();
}void CJieqieDlg::OnButton2()
{// TODO: Add your control notification handler code hereif( !OpenClipboard() ){AfxMessageBox( _T("Cannot open the Clipboard!") );return;}// 选择合适的格式,读取的时候不用获得剪贴板的拥有权UINT uiFormat = (sizeof(TCHAR)==sizeof(WCHAR) ? CF_UNICODETEXT : CF_TEXT );HANDLE hData = ::GetClipboardData( uiFormat );if( NULL == hData ){AfxMessageBox( _T("Unable to get Clipboard data!") );CloseClipboard();return;}CString str;LPCTSTR lpdata = (LPCTSTR)GlobalLock(hData);this->SetDlgItemText( IDC_EDIT2, lpdata );GlobalUnlock( hData );CloseClipboard();
}

运行如下;在第一个框随便输入,单击按钮1,然后单击按钮2,内容拷贝到第二个框;在二个程序之间也可以操作;先打开剪贴板,然后操作,然后关闭剪贴板;剪贴板编程通常会用到GlobalAlloc函数;

VC++ 剪贴板编程相关推荐

  1. 基于Winsock API的VC网络编程实战

    基于Winsock API的VC网络编程实战 随着计算机信息技术的飞速发展,互联网与人类社会的工作.生活越来越紧密相关,它已经成为人类获取.交流信息的重要途径和手段.所以当前对于开发人员来说,网络编程 ...

  2. VC++ 常用编程技巧总结

    VC++6.0的使用以及编程技巧整理 1.MDI子窗口一启动就最大化      BOOL   CChildFrame::PreCreateWindow(CREATESTRUCT&   cs) ...

  3. 关于VC网络编程中用 char 发送结构体的说明

    关于VC网络编程中用 char 发送结构体的说明     在VC中要发送struct的程序,如果需要中间打包的话,首先因该将结构体转换为字节型的.然后再用 send (SOCKET s,const c ...

  4. 深入浅出VC++串口编程--基于控件

    深入浅出VC++串口编程之基于控件源代码下载 MSComm控件 Visual C++为我们提供了一种好用的ActiveX控件Microsoft Communications Control(即MSCo ...

  5. VC++动态链接库编程(转载)

    注:以下为转载:2005-10  作者:宋宝华  出处:天极网  http://soft.yesky.com/lesson/318/2166818.shtml VC++动态链接库编程之非MFC DLL ...

  6. 螺杆泵matlab,基于Matlab与VC++混合编程的螺杆泵转子型线设计

    2011年第 3期 (总 227期 ) · 1 · 收稿日期: 2010 - 12 - 23 基金项目:国家高技术研究发展计划资助项目 (2007AA05Z208) 设计研究 文章编号: 100622 ...

  7. 小人物走路、奔跑的VC++游戏特效,适合刚学习VC++游戏编程的朋友

    一个VC++游戏中的模块效果,小人物走路.奔跑效果,用方向键即可在控制小人的走动,当然了,源码还是比较基础的,适合于刚学习VC++游戏编程的朋友们. 界面效果展示: 源码目录结构图: 部分源码展示(由 ...

  8. 在VC中编程实现按钮的启用(enable)和禁用(disable)

    在VC中编程实现按钮的启用(enable)和禁用(disable)- - 方法总的说只有一个,就是调用CButton::EnableWindow()函数[毕竟CButton是从CWnd继承下来的] 具 ...

  9. VC++游戏编程基础无法找到“d3d9.h”问题

    经反复查阅是缺少Direct X SDK导致的,我用的是VC++6.0,支持Direct X SDK 9.0b及之前的版本,最新版DX SDK(JUNE)VC6驾驭不了...下面是我解决问题的思路(只 ...

最新文章

  1. 如何根据原理图画封装_如何根据业务封装自己的功能组件
  2. 解决TM2008的界面字体问题
  3. 《Code:The Hidden Language Of Computer Hardware and Software》 ——笔记
  4. 三、“涤纶纤维和棉纤维两组分纤维在涤/棉混纺织物燃烧过程中有着明显的物理相互作用和化学相互作用”,解释这两种作用。
  5. (王道408考研数据结构)第七章查找-第二节2:二分查找及其判定树
  6. 【Json】JSONPath之fastJson与Snack3的使用介绍与区别
  7. linux下文件编码的查看与转换(转)
  8. Ubuntu10.04下载并编译Android4.3源代码
  9. c语言 电脑 控制串口,PC与单片机RS-232串口的通讯和控制
  10. python图片分类毕业设计成果报告书_4period;毕业设计成果报告书
  11. Tomcat架构解析之Digester
  12. MSOCache是什么?
  13. AI绘画是什么软件?看完你就知道了
  14. python 实现自动化点击界面方案
  15. PCIe系列专题之五:PCIe总线电源管理
  16. 乘法逆元 java_乘法逆元的求法(5种)
  17. 个人中心html更换头像,html 上传头像前预览以及点击头像去选择和更换头像
  18. 合作开发过程产生的专利_技术开发合同中的知识产权归属问题研究
  19. 信息系统项目管理师-知识、战略、组织级项目、流程管理
  20. 摄像头常见参数解释(转载)

热门文章

  1. 如何在fluid中添加自定义控件
  2. C语言中typedef的六种用法
  3. Python 技术篇-利用pyqt5库监听剪切板变动,clipboard.dataChanged.connect()剪切板监听
  4. JavaScript 技术篇-js字符串大小写转换,toLocalUpperCase()和toUpperCase()的区别详解
  5. Windows 技巧篇-点开头的文件夹名创建方法。如何创建点开头的文件夹?
  6. JSP知识点笔记-基本技术常识
  7. vue中通过数据双向绑定给video标签的src赋值,只有第一次有效,怎么解决?
  8. CTFshow 信息收集 web14
  9. matlab 暂停命令(pause和input)
  10. free -m linux,linux中free -m 中的一些解释