网上好多教程讲如何复制到剪切板,但是有可能复制的是乱码,为了方便,将CString类型的复制到剪切板
if (OpenClipboard())
{
//防止非ASCII语言复制到剪切板为乱码
int buff_size = source.GetLength();
CStringW strWide = CStringW(source);
int nLen = strWide.GetLength();
//将剪切板置空
::EmptyClipboard();
HANDLE clipbuffer = ::GlobalAlloc(GMEM_DDESHARE,(nLen+1)*2);
if (!clipbuffer)
{
::CloseClipboard();
return;
}

本文介绍了如何在MFC中避免出现乱码问题,正确地将EDIT控件或CString内容复制到剪切板。通过使用GlobalAlloc、GlobalLock、strcpy_s和SetClipboardData等函数,确保Unicode文本的正确传输。
最低0.47元/天 解锁文章
1460

被折叠的 条评论
为什么被折叠?



