敬业的IT人 >> 编程开发 >> C/C++ >> 用C++ Builder创建上下文菜单扩展处理器

用C++ Builder创建上下文菜单扩展处理器

敬业的IT人 互联网 佚名 2008-1-3 19:11:47

源码下载

  当用户右击一个shell对象时,shell会显示它的上下文菜单。文件系统对象有大量的标准菜单项,如"剪切"和"拷贝",这些都是缺省的菜单项。如果对象是一个文件,是文件类的成员,就能够在注册表里指定附加的菜单项。Shell检查注册表,看看文件类型是否与一些上下文菜单handler相关联,如果是,shell会咨询这些handler是否添加额外的菜单项。

  上下文菜单handler是一种shell扩展handler,它添加命令到已有的上下文菜单中。上下文菜单handler都与特定的文件类相关联,并且在显示这类文件的成员的上下文菜单时调用。通过实现和注册这样一个handler,能够动态地添加菜单项到对象的上下文菜单上,从而为特殊的对象定制菜单。

  上下文菜单Handler的工作原理

  作为一种shell扩展handler,上下文菜单handler同所有其它handler一样, 是进程内COM 对象,即对象作为动态连接库 (DLL)实现。除了IUnknown接口外,上下文菜单还必须导出IShellExtInit和ICborder="0" alt="用C++ Builder创建上下文菜单扩展处理器(图一)" width="554" height="293" />

  注册后,在资源管理器右击任何文件,如readme.txt,都将打开一个选择文件的对话框,然后shell用选择的文件打开readme.txt。

进入讨论组讨论。
粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com