快捷菜单参考

本主题列出了与快捷方式(上下文)菜单和快捷菜单处理程序一起使用的主要编程元素。 快捷菜单处理程序(也称为上下文菜单处理程序或 verb 处理程序)是文件类型处理程序的类型。

关于快捷菜单实现

强烈建议你使用其中一种静态 verb 方法实现快捷菜单。 请查看以下说明:

  • 若要使用静态 verb 方法实现快捷菜单,请参阅 创建快捷菜单处理程序的“使用静态谓词自定义快捷菜单”部分。
  • 若要在 Windows 7 及更高版本中获取静态谓词的动态行为,请参阅“创建快捷菜单处理程序”中的“获取静态谓词的动态行为”。
  • 有关静态verb实现的详细信息以及要避免的动态谓词,请参阅为快捷菜单选择静态或动态Verb
  • 如果必须通过注册文件类型的动态 verb 来扩展文件类型的快捷菜单,请按照 使用动态谓词自定义快捷菜单中提供的说明进行作。

接口

主题 目录
IContextMenu 公开创建或合并与 Shell 对象关联的快捷菜单的方法。
IContextMenu2 公开创建或合并与 Shell 对象关联的快捷方式(上下文)菜单的方法。 通过添加允许客户端对象处理与所有者绘制的菜单项相关联的消息的方法来扩展 IContextMenu
IContextMenu3 公开创建或合并与 Shell 对象关联的快捷菜单的方法。 允许客户端对象处理与所有者绘制的菜单项相关联的消息,并通过接受消息处理的返回值对 IContextMenu2 进行扩展。
IContextMenuCB 公开用于启用上下文菜单的回调的方法。 例如,要在需要提升的 menuItem 中添加盾牌图标。
IContextMenuSite 由使用 SHCreateShellFolderView 创建的默认文件夹视图来实现。 IContextMenuSite 的实现支持 IContextMenu::QueryContextMenuIContextMenu::InvokeCommandTrackPopupMenu,以及该函数所需的任何消息转发。 IContextMenuSite 通常还会更新状态栏。

 

Functions

主题 目录
CDefFolderMenu_Create2 为所选的一组文件文件夹对象创建上下文菜单。
LPFNDFMCALLBACK 定义从默认上下文菜单实现接收消息 Shell的回调函数的原型。
SHCreateDefaultContextMenu 创建表示默认上下文菜单实现的对象 Shell。

 

结构

主题 目录
CMINVOKECOMMANDINFO 包含 IContextMenu::InvokeCommand 调用快捷菜单命令所需的信息。
CMINVOKECOMMANDINFOEX 包含有关快捷菜单命令的扩展信息。 此结构是 CMINVOKECOMMANDINFO扩展版本,允许使用 Unicode 值。
DEFCONTEXTMENU 包含 SHCreateDefaultContextMenu 使用的上下文菜单信息。

 

快捷(上下文)菜单和快捷菜单处理程序

为快捷菜单选择静态或动态Verb

谓词和文件关联

快捷菜单处理程序和多个谓词的最佳做法

创建快捷菜单处理程序

使用动态谓词自定义快捷菜单