if(!OpenClipboard())
{
...
}
EmptyClipboard();
CString cst;
GetDlgItem(IDC_EDIT_LINK_SHOW)->GetWindowText(cst);
USES_CONVERSION;
char * pGlobal;
HGLOBAL hGlobal; // 一个句柄,其实就是HANDLE
hGlobal = GlobalAlloc(GHND | GMEM_SHARE, (strlen(T2A(cst))+1) * sizeof(TCHAR)); // 这个句柄,指向了一段内存
pGlobal = (char*)GlobalLock(hGlobal); // 把这段内存lock起来使用
strcpy(pGlobal, T2A(cst)); // 复制cst到这段内存
GlobalUnlock(hGlobal); // unlock
SetClipboardData(CF_TEXT, hGlobal); // 直接把指向交给函数解决。
CloseClipboard();
微软的东西用起来真系很吃力。
评论