MFC Unicode编码实现文本复制到剪贴板

实现剪贴板总是要以下几个步骤:

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();//关闭剪贴板  
        }

这样我们就实现了文本发送到剪贴板操作!

你可能感兴趣的:(C/C++)