1WindowsShell扩展(ShellExtensions)指南文章概要:?对象可以为window浏览器提供各种扩展的功能。Windows中有多种的扩展类型,但是对应的文档的介绍却很少。完成的Shell扩展方法可以查阅VisualC++WindowsShellProgramming(ISBN1861001843),如果你没有阅读过这本书而希望做相关的扩展这篇文档将可以帮到你,希望使你可以了解扩展shell的方法。对象可以为window浏览器提供各种扩展的功能。Windows中有多种的扩展类型,但是对应的文档的介绍却很少。完成的Shell扩展方法可以查阅VisualC++WindowsShellProgramming(ISBN1861001843),如果你没有阅读过这本书而希望做相关的扩展这篇文档将可以帮到你,希望使你可以了解扩展shell的方法。有所了解,如果你还不清楚,视频教程。本系列我将会分为几块来进行讲解,第一部分我将会介绍什么是Shell扩展(ShellExtensions),并实现一个简单的扩展系统右键菜单的例子。ShellExtension包含两个部分,Shell指的是Windows文件浏览器,extension指的是在文件浏览器上进行功能的扩展,比如右键打开一个word文档。库。一个扩展动态库实现了与文件浏览器的通讯接口并提供了进程内的服务。ATL是进行扩展最简单的工具。Shell扩展的种类如下。类型内容可扩展实现功能2内容菜单文件浏览器的右键菜单在右键菜单中增加新的功能呢属性页右键属性也进行扩展类似WinRar中属性页查看压缩比例拖拽拖拽和释放文件修改拖拽的行为查询鼠标悬浮的提示文本定制提示文本的内容最常见的右键菜单的扩展时如HaoZipWinRar这样的软件在右键中自定义增加的选项了。此外提供了拖拽的右键扩展IShellExtInit接口只有一个方法Initialize(),::Initialize(LPCITEMIDLISTpidlFolder,LPDATAOBJECTpDataObj,HKEYhProgID)3文件浏览器进程使用这个方法给我们提供信息,pidlFolder是一个PIDL对象,指向操作文件的目录。pDataObj是一个IDataObject接口指针,我们可以获取文件的名称,hProgID是一个HKEY,用于我们访问包含我们dll信息的注册表。对象的头文件,,:ObjectRootEx,CoClass,publicISimpleShlExt,对象可以得到哪种接口,接着我们添加IShellExtInit的接口Initialize(),:TCHARm_szFile[MAX_PATH];public://IShellExtInitSTDMETHODIMPInitialize(LPCITEMIDLIST,LPDATAOBJECT,HKEY);,并通过一个MessageBox进行弹出。我们通过p
Windows Shell扩展(Shell Extensions)指南 来自淘豆网m.daumloan.com转载请标明出处.