来自https://zhidao.baidu.com/question/169234309.html
void CopyToClipboard(char strText[])
{
// 打开剪贴板
if (!OpenClipboard(NULL)|| !EmptyClipboard())
{
printf("打开或清空剪切板出错!
");
return;
}
HGLOBAL hMen;
//TCHAR strText[256] = "我被拷贝到剪切板!
";
// 分配全局内存
hMen = GlobalAlloc(GMEM_MOVEABLE, ((strlen(strText)+1)*sizeof(TCHAR)));
if (!hMen)
{
printf("分配全局内存出错!
");
// 关闭剪切板
CloseClipboard();
return;
}
// 把数据拷贝考全局内存中
// 锁住内存区
LPSTR lpStr = (LPSTR)GlobalLock(hMen);
// 内存复制
memcpy(lpStr, strText, ((strlen(strText))*sizeof(TCHAR)));
// 字符结束符
lpStr[strlen(strText)] = (TCHAR)0;
// 释放锁
GlobalUnlock(hMen);
// 把内存中的数据放到剪切板上
SetClipboardData(CF_TEXT, hMen);
CloseClipboard();
return;
}