复制内容到粘贴板或剪切板

[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]