大家好,我的程序用的是unicode字符集,在往剪贴板拷贝字符串是出现问题,具体请看下面两段代码:
1)//代码1:剪贴板中是乱码
                CString source = _T("Hello world!");
HGLOBAL clipbuffer;
TCHAR * buffer;
int nLen = source.GetLength(); EmptyClipboard(); clipbuffer = GlobalAlloc(GMEM_DDESHARE, (nLen+1)*sizeof(TCHAR));
buffer = (TCHAR*)GlobalLock(clipbuffer); buffer = source.GetBuffer(nLen);
source.ReleaseBuffer(); GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();
2)//代码2:剪贴板中只有"H"
                CString source = _T("Hello world!");
                HGLOBAL clipbuffer;
char * buffer;
int nLen = source.GetLength(); EmptyClipboard(); clipbuffer = GlobalAlloc(GMEM_DDESHARE, (nLen+1)*sizeof(TCHAR));
buffer = (char*)GlobalLock(clipbuffer); buffer = source.GetBuffer(nLen);
source.ReleaseBuffer(); GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();