UINCODE环境下编写剪贴板程序代码

本文提供了一个使用C++实现的剪贴板操作示例,包括如何将文本发送到剪贴板以及如何从剪贴板接收文本。示例中详细展示了打开剪贴板、设置剪贴板数据和关闭剪贴板的过程。
void CClipboardDlg::OnBnClickedBtnSend()
{
	// TODO: 在此添加控件通知处理程序代码
	CString strSource;  

	if(OpenClipboard()) //打开剪贴板   
	{   
		HGLOBAL hGlobal;  
		LPTSTR pBuffer;  
		EmptyClipboard();       //清空剪贴板内容   
		GetDlgItemText(IDC_EDIT_SEND, strSource);    //从指定ID文本框获取字符串   
		hGlobal = GlobalAlloc(GHND, (strSource.GetLength()+1)*sizeof(TCHAR)); //获取内存,长度为字符串长度   
		pBuffer = (LPTSTR)GlobalLock(hGlobal);  
		memcpy(pBuffer, strSource, (strSource.GetLength()+1)*sizeof(TCHAR));
		GlobalUnlock(hGlobal);
		SetClipboardData(CF_UNICODETEXT, hGlobal);  // 设置剪贴板内容
		CloseClipboard();   // 必须关闭剪贴板 
	}
}

void CClipboardDlg::OnBnClickedBtnRecv()
{
	// TODO: 在此添加控件通知处理程序代码
	if(OpenClipboard())
	{
		if(IsClipboardFormatAvailable(CF_UNICODETEXT))
		{
			HGLOBAL hGlobal;
			LPTSTR pBuffer;
			hGlobal = GetClipboardData(CF_UNICODETEXT);
			pBuffer = (LPTSTR)GlobalLock(hGlobal);  
			GlobalUnlock(hGlobal);
			CString str(pBuffer);
			SetDlgItemText(IDC_EDIT_RECV, pBuffer);
		}
		CloseClipboard();   // 必须关闭剪贴板 
	}
}


 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值