实现剪贴板总是要以下几个步骤:
1.打开剪贴板
2.获取剪贴板使用权
3.锁定剪贴板
4.解除剪贴板
5.关闭剪贴板
if (this->OpenClipboard()) //如果能打开剪贴板
{
::EmptyClipboard(); //清空剪贴板,使该窗口成为剪贴板的拥有者
CString str("fdsfds");//将文本放置到系统剪贴板中
HGLOBAL hClip;
hClip = ::GlobalAlloc(GMEM_MOVEABLE, (str.GetLength() * 2) + 2); //判断要是文本数据,分配内存时多分配一个字符
TCHAR *pBuf;
pBuf = (TCHAR *)::GlobalLock(hClip);//锁定剪贴板
lstrcpy(pBuf, str);//把CString转换
::GlobalUnlock(hClip);//解除锁定剪贴板
::SetClipboardData(CF_UNICODETEXT, hClip);//把文本数据发送到剪贴板 CF_UNICODETEXT为Unicode编码
::CloseClipboard();//关闭剪贴板
}
}
这样我们就实现了文本发送到剪贴板操作!