这几天学习VC++ 用的VS2019 ,利用剪贴板向QQ聊天窗口 粘贴内容,但是第2次调用时就出错,代码如下:
void CSendQQmsg::CopyToClipboard(CString str)
{
if (str.GetLength() >= 40)
{
return;
}
TCHAR a[40];
memcpy(a, str.GetBuffer(0), (str.GetLength() + 1) * sizeof(TCHAR));
HGLOBAL hMem;
LPTSTR pStr;
// 分配内存空间
hMem = GlobalAlloc(GHND | GMEM_SHARE, (str.GetLength() + 1) *sizeof(TCHAR));
pStr = (LPTSTR)GlobalLock(hMem);
wcsncpy_s(pStr, 40, a, 40);
GlobalUnlock(hMem);
if (OpenClipboard(NULL)) //二次调用在这次出错
{
TRACE("剪贴板打开成功\n");
EmptyClipboard(); // 清空
SetClipboardData(CF_UNICODETEXT, hMem);// 设置剪贴板文本
CloseClipboard(); //关闭剪贴板
}
else
{
TRACE("剪贴板打开失败 %x\n",GetLastError());
GlobalFree(hMem);
}
}
C不多,求师傅们指教,感激不尽!