设置剪贴板数据
我知道这是win32问题我正在尝试使用SetClipboardData将字符串复制到剪贴板但是我的代码只拾取第一个字符,我不知道为什么。我做错了什么?
谢谢
int SetClipboardText(void)
{
HWND docHwnd = adsw_acadDocWnd();
struct resbuf *pArgs = acedGetArgs() ;
if (pArgs == NULL && pArgs->restype != RTSTR )
return RSERR;
if(OpenClipboard(docHwnd))
{
HGLOBAL clipbuffer;
ACHAR* buffer;
EmptyClipboard();
clipbuffer = GlobalAlloc(GMEM_DDESHARE |
GMEM_DDESHARE, _tcslen(pArgs->resval.rstring) + 1);
buffer = (ACHAR*)GlobalLock(clipbuffer);
_tcscpy(buffer, pArgs->resval.rstring);
GlobalUnlock(clipbuffer);
SetClipboardData(CF_TEXT,clipbuffer);
CloseClipboard();
}
return (RSRSLT) ;
}
**** Hidden Message ***** 丹尼尔;
不测试您的函数....
GMEM_DDESHARE已经过时,将被忽略,您已经使用了两次,请尝试使用GMEM _ mobile(这是我使用的一个)
原谅我,但讽刺的是,在这篇文章的背景下,我快要死了。
{耸肩图标在哪里?}
对不起?
:哨子:
{真诚地希望皱纹可以消除}
嗨,路易斯,
我尝试了GMEM _可移动和GMEM _共享的所有组合,但还是不行..我很想看看你的代码,但给我一点时间来搞清楚
苹果和鱼MP
明白了
谢谢
我需要定义这个
#ifdef UNICODE
#define CF_TCHAR CF_UNICODETEXT
#else
#define CF_TCHAR CF_TEXT
#endif
新代码
太棒了,谢谢路易斯
页:
[1]