如何用delphi实现windows特定程序外壳扩展的开发
1个回答
推荐于2016-07-01
展开全部
人们一般都有这样的经历:当用户在资源管理器中用右键菜单时,会显示一个“属性”菜单,点击属性菜单项会显示一个属性页,系统对不同的文件会有不同的属性页扩展。如:在windows98中对文本文件系统有“常规”属性页,对于word文档系统就有:“常规”、“载要”、“统计”三个属性页。而对于DLL文件系统只有“常规”、“版本”两个属性页。
那么,作为一个程序员如何也在自己开发的程序中实现类似系统上述的功能呢?其实,属性页扩展程序主要是一个以动态链接库DLL实现的in-process服务器,他除了实现基本的COM的iunknown接口外,还实现它的IShellExtInit和IShellpropsheetext接口。其中IShellExtInit的Initialize方法用于实现初始化快捷菜单处理器,IShellpropsheetext接口用于向属性页添加页面,如果属性页和特定的文件相关则系统会调用IShellpropsheetext的addpages方法给属性页添加一个页面。
那么,作为一个程序员如何也在自己开发的程序中实现类似系统上述的功能呢?其实,属性页扩展程序主要是一个以动态链接库DLL实现的in-process服务器,他除了实现基本的COM的iunknown接口外,还实现它的IShellExtInit和IShellpropsheetext接口。其中IShellExtInit的Initialize方法用于实现初始化快捷菜单处理器,IShellpropsheetext接口用于向属性页添加页面,如果属性页和特定的文件相关则系统会调用IShellpropsheetext的addpages方法给属性页添加一个页面。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询