用C++ Builder创建上下文菜单扩展处
敬业的IT人
互联网
佚名
2008-1-3 21:49:07
当用户右击一个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创建上下文菜单扩展处(图一)" />
注册后,在资源管理器右击任何文件,如readme.txt,都将打开一个选择文件的对话框,然后shell用选择的文件打开readme.txt。
(责任编辑:铭铭)- 最新文章
- 用C++BUILDER建立自己的WEB浏览器[01-03]
- 应用程序禁止Windows屏幕保护[01-03]
- 在C++ Builder中用Ole控制Excel表[01-03]
- 怎样用C++Builder存取Excel[01-03]
- 中英文输入法的自动切换[01-03]
- 做一个DreamWeaver风格的程序[01-03]
- 相关文章
