【发布时间】:2012-05-11 02:24:56
【问题描述】:
有几种方法可以获取给定扩展名的描述和默认图标(没有完整路径),例如对于“*.doc”,我想获取“Microsoft Word 文档”和相关图标,您认为哪个会成为以下最快的之一:
-
搜索注册表:
- 在注册表中,进入“HKCR.{extension}”,读取默认值(我们称之为文件类型)
- 在“HKCR{filetype}\DefaultIcon”中,读取默认值:这是图标文件(或图标容器文件,如嵌入图标资源的 .exe)的路径
- 如果需要,请使用您喜欢的方法从上述文件中提取图标资源。
调用 API ShGetFileInfo。我相信这有点慢。
据 Rob 所说,这里是:How to get icon and description from file extension using Delphi?
将 IExtractIcon 接口称为“更灵活、更高效”的替代方案。但它推荐的顺序是使用 IShellFolder 接口,然后调用 GetUIObjectOf 来获取文件的 IExtractIcon 接口,然后在其上调用 GetIconLocation 和 Extract 以检索图标的句柄。 (但是这个方法无法读取扩展描述?)
因为速度非常重要,因为我需要读取系统中所有文件类型的信息。
非常感谢!
【问题讨论】:
标签: windows-shell