CString StrTmp = "fly";
我想把StrTmp复制到粘贴板,我找了一些网页资料,粘贴板的处理要预先申请地址段(比较低级的内存操作,似乎会涉及到溢出的情况?),
如果我的CString很大的话,例如有1,2M的文本情况下,求个安全的粘贴板代码例子.....
谢谢!
我想把StrTmp复制到粘贴板,我找了一些网页资料,粘贴板的处理要预先申请地址段(比较低级的内存操作,似乎会涉及到溢出的情况?),
如果我的CString很大的话,例如有1,2M的文本情况下,求个安全的粘贴板代码例子.....
谢谢!
{
if( !OpenClipboard(hWndOwner))
{
return;
}
EmptyClipboard();
size_t cbStr = (_tcslen(strText) + 1) * sizeof(TCHAR);
HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
memcpy_s(GlobalLock(hData), cbStr, strText, cbStr);
GlobalUnlock(hData);
// For the appropriate data formats...
UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
if (::SetClipboardData(uiFormat, hData) == NULL)
{
DWORD dwErro = GetLastError();
}
CloseClipboard();
GlobalFree(hData);
}
这是一段把字符串复制到剪切板的代码.使用方式CString Str=TEXT("XXXXXXXXX");CopyToClipboard(m_hWnd, Str);