[cpp]
//////////////////////////////////////////////////////////////////////////
//复制文字到剪切板
bool CopyTextToClipbrd(LPCTSTR lpData)
{
if (!OpenClipboard(NULL))
return false;
bool fOk = false;
EmptyClipboard();
int len = lstrlen(lpData);
if (len > 0)
{
HGLOBAL hglbCopy = GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(TCHAR));
if (hglbCopy == NULL)
goto _exit;
LPTSTR lptstrCopy = (LPTSTR)GlobalLock(hglbCopy);
memcpy(lptstrCopy, lpData, len * sizeof(TCHAR));
GlobalUnlock(hglbCopy);
UINT format = CF_TEXT;
if (SetClipboardData(format, hglbCopy)==NULL)
goto _exit;
fOk = true;
}
_exit:
CloseClipboard();
return fOk;
}
[/cpp]