VC++ 剪贴板编程
新建一个对话框工程;
双击按钮,让你输入单击的成员函数名称,然后进入代码编辑;
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++ 剪贴板编程相关推荐
- 基于Winsock API的VC网络编程实战
基于Winsock API的VC网络编程实战 随着计算机信息技术的飞速发展,互联网与人类社会的工作.生活越来越紧密相关,它已经成为人类获取.交流信息的重要途径和手段.所以当前对于开发人员来说,网络编程 ...
- VC++ 常用编程技巧总结
VC++6.0的使用以及编程技巧整理 1.MDI子窗口一启动就最大化 BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) ...
- 关于VC网络编程中用 char 发送结构体的说明
关于VC网络编程中用 char 发送结构体的说明 在VC中要发送struct的程序,如果需要中间打包的话,首先因该将结构体转换为字节型的.然后再用 send (SOCKET s,const c ...
- 深入浅出VC++串口编程--基于控件
深入浅出VC++串口编程之基于控件源代码下载 MSComm控件 Visual C++为我们提供了一种好用的ActiveX控件Microsoft Communications Control(即MSCo ...
- VC++动态链接库编程(转载)
注:以下为转载:2005-10 作者:宋宝华 出处:天极网 http://soft.yesky.com/lesson/318/2166818.shtml VC++动态链接库编程之非MFC DLL ...
- 螺杆泵matlab,基于Matlab与VC++混合编程的螺杆泵转子型线设计
2011年第 3期 (总 227期 ) · 1 · 收稿日期: 2010 - 12 - 23 基金项目:国家高技术研究发展计划资助项目 (2007AA05Z208) 设计研究 文章编号: 100622 ...
- 小人物走路、奔跑的VC++游戏特效,适合刚学习VC++游戏编程的朋友
一个VC++游戏中的模块效果,小人物走路.奔跑效果,用方向键即可在控制小人的走动,当然了,源码还是比较基础的,适合于刚学习VC++游戏编程的朋友们. 界面效果展示: 源码目录结构图: 部分源码展示(由 ...
- 在VC中编程实现按钮的启用(enable)和禁用(disable)
在VC中编程实现按钮的启用(enable)和禁用(disable)- - 方法总的说只有一个,就是调用CButton::EnableWindow()函数[毕竟CButton是从CWnd继承下来的] 具 ...
- VC++游戏编程基础无法找到“d3d9.h”问题
经反复查阅是缺少Direct X SDK导致的,我用的是VC++6.0,支持Direct X SDK 9.0b及之前的版本,最新版DX SDK(JUNE)VC6驾驭不了...下面是我解决问题的思路(只 ...
最新文章
- 如何根据原理图画封装_如何根据业务封装自己的功能组件
- 解决TM2008的界面字体问题
- 《Code:The Hidden Language Of Computer Hardware and Software》 ——笔记
- 三、“涤纶纤维和棉纤维两组分纤维在涤/棉混纺织物燃烧过程中有着明显的物理相互作用和化学相互作用”,解释这两种作用。
- (王道408考研数据结构)第七章查找-第二节2:二分查找及其判定树
- 【Json】JSONPath之fastJson与Snack3的使用介绍与区别
- linux下文件编码的查看与转换(转)
- Ubuntu10.04下载并编译Android4.3源代码
- c语言 电脑 控制串口,PC与单片机RS-232串口的通讯和控制
- python图片分类毕业设计成果报告书_4period;毕业设计成果报告书
- Tomcat架构解析之Digester
- MSOCache是什么?
- AI绘画是什么软件?看完你就知道了
- python 实现自动化点击界面方案
- PCIe系列专题之五:PCIe总线电源管理
- 乘法逆元 java_乘法逆元的求法(5种)
- 个人中心html更换头像,html 上传头像前预览以及点击头像去选择和更换头像
- 合作开发过程产生的专利_技术开发合同中的知识产权归属问题研究
- 信息系统项目管理师-知识、战略、组织级项目、流程管理
- 摄像头常见参数解释(转载)
热门文章
- 如何在fluid中添加自定义控件
- C语言中typedef的六种用法
- Python 技术篇-利用pyqt5库监听剪切板变动,clipboard.dataChanged.connect()剪切板监听
- JavaScript 技术篇-js字符串大小写转换,toLocalUpperCase()和toUpperCase()的区别详解
- Windows 技巧篇-点开头的文件夹名创建方法。如何创建点开头的文件夹?
- JSP知识点笔记-基本技术常识
- vue中通过数据双向绑定给video标签的src赋值,只有第一次有效,怎么解决?
- CTFshow 信息收集 web14
- matlab 暂停命令(pause和input)
- free -m linux,linux中free -m 中的一些解释