Windows API一日一练(85)OpenClipboard函数

本文介绍了Windows中剪贴板的重要功能及其使用方法。通过具体示例展示了如何利用OpenClipboard等函数实现数据拷贝到剪贴板的过程。
多个软件之间进行数据共享是非常重要的,难以想像编辑软件没有CTRL+CCTRL+V的功能,是多么的不方便。很多的操作,就是拷贝的动作,就是为了数据共享。剪贴板共享是Windows里比较重要的功能,比如很多采集数据的软件为了方便导数据到Excel里面,就可以使用剪贴板的功能。还有即见即所得的界面导到Word里面,也可以使用剪贴板的功能。
函数OpenClipboard声明如下:
WINUSERAPI
BOOL
WINAPI
OpenClipboard(
__in_opt HWND hWndNewOwner);
hWndNewOwner是前贴板所属于的窗口。
调用函数的例子如下:
#001//拷贝数据到剪贴板。
#002//蔡军生2007/12/09 QQ:9073204 深圳
#003void TestClipBoard(void)
#004{
#005 //打开剪贴板并清空。
#006 if (OpenClipboard(m_hWnd) &&
#007 EmptyClipboard())
#008 {
#009 //
#010 HGLOBAL hMem;
#011 std::wstring strText(_T("拷贝数据到剪贴板"));
#012
#013 //分配全局内存。
#014 hMem = GlobalAlloc(GMEM_MOVEABLE,
#015 (strText.length() + 1) * sizeof(TCHAR));
#016 if (hMem == NULL)
#017 {
#018 CloseClipboard();
#019 return;
#020 }
#021
#022 //拷贝数据到剪贴板内存。
#023 LPTSTR lpStr = (LPTSTR)GlobalLock(hMem);
#024 memcpy(lpStr, strText.c_str(),
#025 strText.length() * sizeof(TCHAR));
#026 lpStr[strText.length()] = (TCHAR) 0;
#027 GlobalUnlock(hMem);
#028
#029 //设置数据到剪贴板
#030 SetClipboardData(CF_UNICODETEXT, hMem);
#031
#032 //关闭剪贴板。
#033 CloseClipboard();
#034 }
#035}
#036
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值