简介
在Windows 7中,您有一些名为库的文档,图片和音乐等特殊文件夹。
如果您不了解它们,基本上每个Library文件夹都可以包含位置(路径),这些基本上是每个库的快捷方式。
一些例子:
Documents (Library)
(Location)
(Location)
Music (Library)
(Location)
(Location)
Pictures (Library)
(Location)
当您从Windows资源管理器或“开始”菜单中单击任何这些库文件夹时,Windows资源管理器将显示该库中定义的位置。
任务
我需要做的是阅读每种库类型的位置,并能够使用我自己的位置回写(更新)库。我发现库存储在用户AppData文件夹中,如下所示:
C:\Users\SOMEUSER\AppData\Roaming\Microsoft\Windows\Libraries
这些库是此文件类型:库(.library-ms) - 如果右键单击一个并选择属性,“库”选项卡可以看到与该库关联的库位置。
我没有看到提取这些并将它们放入TStringList以便在Delphi中进行编辑的方法。我想知道这些库位置是否实际存储在Windows注册表中,所以通过Google的一些研究我找到了这些路径:
但同样,我没有看到库位置的实际列表。
那么,如何在Delphi中读取库文件中的Locations列表,将它们添加到Listbox或TStringList,编辑条目然后写回更改?能够提取库位置路径将是一个开始。
我只是觉得这将成为一个我无法找到的简单答案的问题之一!
答案 0 :(得分:1)
我刚刚在Marco Cantu的源代码存储库中找到了他的Mastering Delphi书籍,这是Delphi 2010的一个例子,它展示了一种在库中获取位置的方法。
存储库的链接位于:http://code.marcocantu.com/p/marcodelphibooks/source/tree/HEAD/
在delphi2010handbook
中,chapter 05 (Win7Libraries)
是示例来源。
该演示中使用的方法基本上是使用已经提到的Windows API,该演示确认了库文件确实是XML格式。
此外,我发现以下信息非常有用: