分享

技巧:记事本轻松个性化WIN7库项目图标

 小 SU 2010-10-29

在WIN7中,我们知道,引入的最重要的一项更新就是库,library。我向来以为,大多数软件不需要追新——开发测试期间的除外——但是操作系统,对WIN7来说,就算只为库这一个新功能,也值得追新一把。原因嘛,某狼认为,好的习惯不如好的组织方式,就如期待肉食者的圣人道德,不如期待制度的制约,建议五毛们自动忽略这句。

库的引入,为我们组织文件提供了一种非常优秀的方法,也使硬盘单分区成为一种流行方式。在以往,为了自己使用的方便,我们往往把硬盘分成好几个区,比如,系统分区,软件分区,资料分区,备份分区,下载分区等。在每个分区下面组织文件的时候,一层层的文件夹,进行树状组织,时不时还得整理一下。而有了库,完全可以把这个工作交给系统,解放自己的精力。

但是不知什么原因,微软在WIN7上,竟然把自定义库图标这么重要的功能忘了加上。对用户来说,手动添加的每一个库项目,其图标都是默认的同一图标,很不美观,也不方便直观地分辨不同图标。这里介绍一个方法,自定义库项目的图标,可以是系统DLL文件中自带的(如系统默认定义的图片库等图标),也可以是自己设计或从别的地方扒来的图标。

原理:WIN7中的库项目,我在无意中发现,是一个典型的XML文件。既然是XML文件,就可以用记事本或者其它文本编辑软件打开。大致看了一下代码,结构如下:

<?xml version=”1.0″ encoding=”UTF-8″?>
<libraryDescription xmlns=”http://schemas.microsoft.com/windows/2009/library”>
<name>@shell32.dll,-34595</name>
<ownerSID>S-1-5-21-4160236131-2368581816-1137950046-500</ownerSID>
<version>10</version>
<isLibraryPinned>true</isLibraryPinned>
<iconReference>imageres.dll,-1003</iconReference>
<templateInfo>
<folderType>{b3690e58-e961-423b-b687-386ebfd83239}</folderType>
</templateInfo>
<propertyStore>
<property name=”HasModifiedLocations” type=”boolean”><![CDATA[true]]></property>
</propertyStore>
<searchConnectorDescriptionList>
<searchConnectorDescription publisher=”Microsoft” product=”Windows”>
<description>@shell32.dll,-34597</description>
<isDefaultSaveLocation>true</isDefaultSaveLocation>
<serialized>MBAAAEAFCAAAAAAAADAAAAAAAAAAA</serialized>
</simpleLocation>
</searchConnectorDescription>
<searchConnectorDescription>
<isSupported>true</isSupported>
<simpleLocation>
<url>D:My Dropbox文件备份图片存档</url>
<serialized>MBAAAQlAAAAQNQMAYCAAAAA</serialized>
</simpleLocation>
</searchConnectorDescription>
</searchConnectorDescriptionList>
</libraryDescription>

注意红颜色标出的,在<url>标签中,定义了库项目包含的地址,有多少个<url></url>标签对,就是在此库项目中包含了几个不同的文件位置。而<iconReference></iconReference>标签中,则定义了该库项目的图标。

这下就好办了,有自定义图标的,可以做个性化修改,没有的,可以添加。

对系统默认自带的文档、图片、音乐、视频四个库项目来说,分别定义的是imageres.dll,即images resource扩展中的图标,而对用户自行添加的库项目,在创建的时候并没有指定自定义图标的地方,系统并没有指定专用的图标,而是调用默认的统一的库项目图标。

补充:

库项目XML文件的位置在C:UsersYourusernameAppDataRoamingMicrosoftWindowsLibraries

调用系统图标

添加<iconReference>imageres.dll,图标编号</iconReference>标签。这里的图标编号,-1002是文档,-1003是图片,-1004是音乐,-1005是视频。其它的,可以一直试下去,也可以用DLL图标资源查看器找出编号对应的图标。

自定义新图标

同样是在欲自定义图标的库项目XML文件中插入<iconReference></iconReference>标签,然后自定义一个图标绝对踊径。比如,我自己设计一个图标或者从网上扒一个电子书籍的图标,修改为ico格式,即book.ico,存放到c:windowssystem32ico文件夹中。新建一个库,命名为电子书籍,然后到上面说过的libraries文件夹中,用记事本打开 电子书籍 文件,在<libraryDescription></libraryDescription>容器中添加<iconReference></iconReference>标签,例子<iconReference>c:windowssystem32icobook.ico</iconReference>

有两点必须注意:

第一,自定义图标的路径不能包含中文字符;

第二,<iconReference></iconReference>标签对,必须加到<libraryDecription>容器中间;

原创文章,转载请注明:
转载自攻防日志

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多