hur.cn - 华软网

 热门搜索

VC2005里复制字符串到剪切板的问题

  作者:未知    来源:网络    更新时间:2011/4/17
MFC,用的2005.
这是我的程序

C++">		HGLOBAL clipbuffer;
char *buffer;
EmptyClipboard();
clipbuffer=GlobalAlloc(GMEM_DDESHARE,strCopy.GetLength()+1);
buffer=(char*)GlobalLock(clipbuffer);
// buffer=(char   *)strCopy.GetBuffer(strCopy.GetLength()+1);
// buffer=(LPTSTR)(LPCTSTR)strCopy;
// strcpy(buffer,(LPTSTR)(LPCTSTR)strCopy);
// wcscpy(buffer,strCopy);
wchar_t* wCharString = strCopy.GetBuffer(strCopy.GetLength()+1); 
size_t origsize = wcslen(wCharString) + 1; 
size_t convertedChars = 0;  
wcstombs_s(&convertedChars, buffer, origsize, wCharString , _TRUNCATE); 
GlobalLock(clipbuffer);
::SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();


由于VC2005里unicode的问题strcpy(buffer,(LPCTSTR)strCopy)会犯错,所以只可用下面的方法取代。

原先用的strcpy(buffer,(LPCTSTR)strCopy)时在VC6.0下能够复制字符串到剪切板,而这个程序就完成不了这个功能,不过buffer里面是有值的。。。。

求大侠指教
---华软 网友回答---
已经解决了,是忘了打开剪切板。。。
---华软网友回复---

---华软网友回复---
解决就ok      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。