代码改变世界

PreviewManager - 缩略图扩展管理库(可自由增加或删除缩略图插件)

2012-07-09 17:14 by Tsanie, ... 阅读, ... 评论, 收藏, 编辑

功能:

用于管理各类缩略图的扩展,可派生出插件以支持不同类型的文件。单独应用域加载插件,支持即时卸载、更新插件等。

预览效果:

osz文件缩略图预览

epub文件缩略图预览

txt文件缩略图预览

如上述三图分别是3个缩略图插件最终提供的效果,这些插件通过PreviewManager统一加载、卸载等管理。

菜单说明

如图可以随时加载、卸载插件(准备添加一个UI来更详细的管理插件模块,还未完成)。

另外因为插件是运行在新AppDomain中的,所以卸载插件后可以立刻删除或更新对应dll,然后重新装载立刻应用。

下载:

http://code.google.com/p/premanager/downloads/list

代码:

http://code.google.com/p/premanager/

 

使用:

解压到任意文件夹,PreviewManager.dll为COM开放组件,注册此文件即可安装菜单与缩略图扩展。

先确定系统为32位还是64位,把对应的exe文件修改为RegAsm.exe名,然后把PreviewManager.dll拖放至@register.cmd完成注册。

此时就已经完成了扩展的安装,右键文件夹或者桌面空白处会看到上述的菜单图效果,txt、osz、epub等文件格式正确的话也可以读出其缩略图了。

最后介绍剩下的一些文件,3个Provider.dll是分别对应上面那三种文件的扩展插件例子,你可以随意制作想要的任意插件,新建一个项目,引用PreviewManager.dll库,并建立一个Provider类继承Tsanie.PreviewManager.PreviewProvider即可(具体成员含义可以看代码注释)。

生成好dll以后复制到PreviewManager.dll同目录,然后修改PreviewManager.txt,增加一行,以“程序集名,Provider类的全名”为格式,最后重新加载一次插件即可看到效果。

 

一些现有的例子以及构想:

VS就有一套图标外壳扩展,可以通过sln解决方案文件的内容获取版本,然后在图标的右上角用数字标注出来告诉用户这个文件是哪个版本的(这个是图标扩展,和这里说的缩略图扩展不太一样)

版本对照

然后我们可以设想给rar做一个缩略图扩展,可以根据不同文件的压缩比来显示不同的图标,然后我们就可以一眼看出各个文件的压缩比状况了。

压缩比示例

又或者是给图片加一块分辨率提示板用来一眼看出这图是多大的等等

分辨率提示

 

最后:

嘛,上面那都是一些初步的设想。现在把需要和windows交互的模块完成了,剩下的插件只需要接收一个文件名,然后返回一个图片就行,谁都可以来DIY。。。