IshellBrowser IshellView接口 如何屏蔽掉资源管理器的右键菜单 资源管理器的右键菜单可以通过什么接口的方法屏蔽掉吧。不通过处理鼠标消息等方式,请各位大侠说说,小弟先谢过。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用IContextMenu接口,自己去Google,讲起来太麻烦了 IContextMenu接口针对IE是可以的。但对资源管理器没有用。我试过这个接口的。 请问可不可以说详细点呢。在资源管理器里如何使用IContextMenu接口。屏蔽右键菜单。 http://www.codeproject.com/KB/shell/shellextguide1.aspx windows shell编程很详细了,csdn上有翻译版本的 IshellView 可以获得 IContextMenu,但是不能屏蔽呀。可以加一些自己的菜单选项。我只是想完全屏蔽。我肯定是先在网上找了资料,没找到才发帖子的。 IShellBrowser接口,每次创建窗口,右键地,就会触发这个三个事件,InsertMenusSBSetMenuSBRemoveMenusSB但这几个事件,我可以在这里屏蔽掉菜单吗?我试了下,没能成功,MS也是用来扩展用的。 刚看了个帖子。跟我的需求很类似http://topic.csdn.net/u/20080531/18/98170995-c3eb-4730-97c3-216afbe6d16d.html 我当初是替换的。呵呵。HRESULT STDMETHODCALLTYPE CWebBaseComponent::ShowContextMenu( /* [in] */ DWORD dwID, /* [in] */ POINT *ppt, /* [in] */ IUnknown *pcmdtReserved, /* [in] */ IDispatch *pdispReserved){ if(ppt) { HMENU hPopup; hPopup = GetSubMenu(m_hHelloMenu,0); if(m_strMenuContentMgr.GetLength() > 0) { MENUITEMINFO mi; ZeroMemory(&mi,sizeof(mi)); mi.cbSize = sizeof(mi); mi.fMask = MIIM_STRING; mi.dwTypeData = m_strMenuContentMgr.LockBuffer(); SetMenuItemInfo(hPopup,ID_HELLO_CONTENT_MGR,FALSE,&mi); m_strMenuContentMgr.UnlockBuffer(); } TrackPopupMenu(hPopup,TPM_LEFTALIGN | TPM_RIGHTBUTTON,ppt->x,ppt->y,0,m_hWnd,0); } return S_OK;} IDocHostUIHandler 接口实现 求助,关于MFC显示已有数据的视频 请教CreateWindow 来的窗口 获得焦点和切换焦点的问题 往由代码打开的一个窗口自动输入用户名和密码,然后点确定 如何实现鼠标放到两个控件之间,箭头变成可拖动标志,按下鼠标可拖动改变两个控件大小 问一个小小的操作问题 const 成员变量的若干问题!! 用VC6发短信 有没有关于换skin方面的技术文章? 如何产生10不相同的随机整数(1-10) 哪位有《深入浅出MFC》的配套光盘? MFC:如何获得放在主对话框上的副窗口的CRect值,并且判断鼠标是否在这个副窗口上 半角字符和全角字符
windows shell编程很详细了,
csdn上有翻译版本的
我肯定是先在网上找了资料,没找到才发帖子的。
InsertMenusSB
SetMenuSB
RemoveMenusSB
但这几个事件,我可以在这里屏蔽掉菜单吗?我试了下,没能成功,MS也是用来扩展用的。
http://topic.csdn.net/u/20080531/18/98170995-c3eb-4730-97c3-216afbe6d16d.html
HRESULT STDMETHODCALLTYPE CWebBaseComponent::ShowContextMenu(
/* [in] */ DWORD dwID,
/* [in] */ POINT *ppt,
/* [in] */ IUnknown *pcmdtReserved,
/* [in] */ IDispatch *pdispReserved)
{
if(ppt)
{
HMENU hPopup;
hPopup = GetSubMenu(m_hHelloMenu,0);
if(m_strMenuContentMgr.GetLength() > 0)
{
MENUITEMINFO mi;
ZeroMemory(&mi,sizeof(mi));
mi.cbSize = sizeof(mi);
mi.fMask = MIIM_STRING;
mi.dwTypeData = m_strMenuContentMgr.LockBuffer();
SetMenuItemInfo(hPopup,ID_HELLO_CONTENT_MGR,FALSE,&mi);
m_strMenuContentMgr.UnlockBuffer();
}
TrackPopupMenu(hPopup,TPM_LEFTALIGN | TPM_RIGHTBUTTON,ppt->x,ppt->y,0,m_hWnd,0);
}
return S_OK;
}