16,548
社区成员




- if(this->OpenClipboard()) //如果能打开剪贴板
- {
- ::EmptyClipboard(); //清空剪贴板,使该窗口成为剪贴板的拥有者
- CString str;
- GetDlgItemTextW(IDC_EDIT_SEND,str); //获取发送框中的文本
- //下面打算将文本放置到系统剪贴板中
- HGLOBAL hClip;
- hClip=::GlobalAlloc(GMEM_MOVEABLE,str.GetLength()*2+2); //如果是文本数据,分配内存时必须多分配一个字符
- TCHAR *pBuf;
- pBuf=(TCHAR *)::GlobalLock(hClip);
- lstrcpy(pBuf,str);
- ::GlobalUnlock(hClip);
- ::SetClipboardData(CF_TEXT,hClip);
- ::CloseClipboard();
- }
if(this->OpenClipboard()) //如果能打开剪贴板
{
::EmptyClipboard(); //清空剪贴板,使该窗口成为剪贴板的拥有者
CString str;
GetDlgItemTextW(IDC_EDIT_SEND,str);
HGLOBAL hClip;
hClip=::GlobalAlloc(GMEM_MOVEABLE,(str.GetLength()+1)*2); //如果是文本数据,分配内存时必须多分配一个字符
TCHAR *pBuf;
pBuf=(TCHAR *)::GlobalLock(hClip);
//lstrcpy(pBuf,str);
wcscpy_s(pBuf,str.GetLength()+1,str.GetBuffer()); //改了之后依旧不行呀????
str.ReleaseBuffer();
::GlobalUnlock(hClip);
::SetClipboardData(CF_TEXT,hClip);
::CloseClipboard();
}