快捷菜单参考

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

关于快捷菜单实现

强烈建议使用静态谓词方法之一实现快捷菜单。 请查看以下说明:

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

接口

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

 

函数

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

 

结构

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

 

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

为快捷菜单选择静态或动态谓词

谓词和文件关联

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

创建快捷菜单处理程序

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