Click here to Skip to main content
15,895,084 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hey,guys.I'd tring to copy a string into clipboard.But my code just copy the first character.I don't know why?Hope you can help me.Thanks.Here's my code.
void CopyMacroToCB(HWND hwnd) {
	HGLOBAL hGlobal;
	TCHAR* pGlobalStr;
        SIZE_T cbStrBuf = 5000;
	hGlobal = GlobalAlloc( GHND | GMEM_SHARE,cbStrBuf );
	pGlobalStr = (TCHAR*)GlobalLock(hGlobal);
	wcscat_s( pGlobalStr,cbStrBuf/2,_T("copy to clipboard\r\n") );
	GlobalUnlock(hGlobal);
	OpenClipboard(hwnd);
	EmptyClipboard();
	SetClipboardData( CF_TEXT,hGlobal );
	CloseClipboard();
}
Posted
Updated 29-Mar-11 8:31am
v3

1 solution

CF_TEXT is for multibyte encodings, and it seems you are trying to set a Unicode string. Try CF_UNICODETEXT instead.
 
Share this answer
 
Comments
mbue 29-Mar-11 15:24pm    
Correct.
Sergey Alexandrovich Kryukov 29-Mar-11 16:27pm    
That is correct, my 5.
--SA
Leasangle 30-Mar-11 1:16am    
Yeah..Thanks very much.Nemanja.I have not realized that.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900