0

在资源管理器中右键单击文件时,我正在尝试添加上下文菜单。

IFACEMETHODIMP FContextMenuExt::QueryContextMenu(
HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags)
{
    ...
    InsertMenuItem(hMenu, 0, TRUE, &mii);
    ...
}

添加了菜单,但没有将菜单放在顶部。似乎排在第 5 或第 6 位。

谁能给我一些建议?

4

1 回答 1

1

您不应该为上下文菜单项提供位置。Shell 使用从多个来源获得的项目/命令构建上下文菜单:它自己的 GUI 项目、上下文菜单处理程序、注册表命令等。请求上下文菜单处理程序将其命令添加到正在构建的菜单中,并且菜单所有者继续添加项目,包括在菜单顶部。

您可以设置一个钩子来拦截菜单弹出窗口并在它显示给用户之前和它完全构建之后对其进行更新,但同样 - 这不是您真正应该做的。

于 2012-03-04T09:36:34.830 回答