我正在尝试在浏览器中右键单击文件时添加上下文菜单。
IFACEMETHODIMP FContextMenuExt::QueryContextMenu(
HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags)
{
...
InsertMenuItem(hMenu, 0, TRUE, &mii);
...
}
菜单已添加,但未将菜单置于顶部。它似乎在第5或第6位。
有人能给我一些建议吗?
答案 0 :(得分:1)
您不应该为上下文菜单项提供位置。 Shell使用从多个源获取的项/命令构建上下文菜单:它自己的GUI项,上下文菜单处理程序,注册表命令等。请求上下文菜单处理程序将其命令添加到正在构建的菜单中,并且菜单所有者继续添加项,包括在菜单上。
您可以设置一个钩子来拦截菜单弹出窗口,并在它显示给用户之前和完全构建之后更新它,但是再次 - 这不是你真正应该做的。