// 复制数据至剪切板 BOOL KClipBoardDlg::CopyToClipboard_(const WCHAR* pszData, const int nDataLen) { if(::OpenClipboard(NULL)) { ::EmptyClipboard(); HGLOBAL clipbuffer; WCHAR *buffer; clipbuffer = ::GlobalAlloc(GMEM_MOVEABLE, nDataLen + sizeof(WCHAR));//在堆里分配指定位的数量的空间 buffer = (WCHAR *)::GlobalLock(clipbuffer);//把handle类型返回指针类型 wcscpy(buffer, pszData); ::GlobalUnlock(clipbuffer);//把指针类型在转回成handle类型 ::SetClipboardData(CF_UNICODETEXT, clipbuffer);//指定剪贴板上的数据为指定格式的数据 ::CloseClipboard();//关闭剪贴板 return TRUE; } return FALSE; }