技术开发 频道

VS与Windows 7共舞:库(Library)

  通过这段简单的代码,我们就可以调用系统的通用保存文件对话框,在其中,我们可以访问系统下的所有定义的库,同时可以将这些库作为文件保存的位置。虽然库只是文件的一种组织形式,并不代表某个实际的硬盘位置,但是因为库有默认的保存文件夹,我们还是可以选择库作为文件的保存位置。


图4 在通用文件对话框中访问库

  库的实质

  实质上,Windows 7操作系统中各种库的信息都保存在一个.library-ms文件中。这是一个XML文件,保存在%appdata%\Microsoft\Windows\Libraries 文件夹 (也称为 FOLDERID_Libraries) 下,文件名就是库的名称。这个文件记录了库的各种信息,例如:

  这个XML文件的元素具有很好的自解释性,我们来看看其中几个关键元素的意义:

  • 为这个库指定一个全局唯一的ID。

  • 这是一个布尔值,表示库是否被固定在 Windows 资源管理器左侧的导航窗格。

  • 表示这个库定义文件被修改的次数。

  • 是一个可选的元素,它允许我们指定文件夹的类型 (例如,文档、 图片、 视频等),从而可以控制文件或者文件夹在 Windows 资源管理器中的视图排列方式。

  • 定义库所使用的图标。这里我们可以用标准的 Windows 外壳程序资源样式的图标资源。 例如,我们要指定自定义库使用imageres.dll中的某个图标,可以这样定义:

<iconreference> C:\Windows\system32\imageres.dll,-65 </iconreference>

  这里需要注意的是,用户不能更改默认库的图标。我们可以通过Windows Explorer为库指定图标,也可以以编程的方式修改库的图标。

  了解了库定义文件的格式后,通过编辑这个文件我们就可以修改库的各种属性,从而实现对库的操作和管理。而实际上无论是用户手动地操作库还是通过编程实现,最终操作的都是库定义文件。

  在本文中,我们介绍了库的缘起,库的形式和实质,相信大家看得还不过瘾,作为程序员,都迫切地想知道如何利用编程的方式对库进行操作,如何为自己开发的应用程序添加对库的支持或者是更好地利用库的新特性。这里先买个关子,稍事休息,下文回来!

0
相关文章