如何获取剪切板内的东西是剪切的还是复制的?
谢谢! 问题点数:50、回复次数:5Top
1 楼pomelowu(羽战士)回复于 2005-05-16 11:24:31 得分 5
响应WM_CUT消息的是剪切Top
2 楼bctcvc(我已崩溃)回复于 2005-05-16 11:53:10 得分 0
你是说SendMessageA,SendMessageW?
我拦截了,可是都没有wm_cut,wm_copy之类的。Top
3 楼vcmute(BCare4 H1Rest Good9!)回复于 2005-05-16 12:05:56 得分 45
不知道你说的是不是文件的操作,如果是字符串cut & copy就不好判断
If you are wondering how the context menu figures out whether an item was cut or copied, it simply examines the CFSTR_PREFERREDDROPEFFECT
例子:
UINT CF_PREFERREDDROPEFFECT = RegisterClipboardFormat(CFSTR_PREFERREDDROPEFFECT);
if(IsClipboardFormatAvailable(CF_PREFERREDDROPEFFECT))
{
if (OpenClipboard())
{
HANDLE hglb = GetClipboardData(CF_PREFERREDDROPEFFECT);
DWORD dwEffects = *(DWORD*) GlobalLock(hglb);
#define DROPEFFECT_NONE ( 0 )
if(dwEffects & DROPEFFECT_MOVE)
MessageBox("CUT");
else if(dwEffects & DROPEFFECT_COPY)
MessageBox("COPY");
GlobalUnlock(hglb);
CloseClipboard();
}
}Top
4 楼bctcvc(我已崩溃)回复于 2005-05-16 13:08:54 得分 0
终于看到点有用的。
试一下先!
谢谢拉!Top
5 楼bctcvc(我已崩溃)回复于 2005-05-16 13:18:06 得分 0
OK解决了!
谢谢啊!Top




