感谢您使用微软产品。您遇到这个问题可能是因为您在添加菜单项时使用了InsertMenu或AppendMenu,这两个函数无法指定弹出菜单的ID,Shell无法识别,因此Shell可能在每次下拉菜单时都往里添加了菜单项。
要解决这个问题,您可以改用InsertMenuItem来添加菜单项。添加时在MENUITEMINFO结构的wID变量中指明菜单的ID。更详细的信息请参考下面这篇KB:
Q214477 PRB: Duplicate Menu Items For a Shell Context Menu Extension
http://support.microsoft.com/support/kb/articles/q214/4/77.asp关于InsertMenuItem的使用请参考
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_4c6l.asp- 微软全球技术中心 VC技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。