远程文件中的图标

时间:2009-01-19 17:48:34

标签: file icons

我已经开始编写FTP客户端应用程序(为了好玩)。我试图用图标表示远程托管的文件。例如,假设我正在浏览FTP服务器的根文件夹(/),并希望显示具有该客户端操作系统中的图标关联的Backup.zip文件。在某些系统上,这可能是Windows压缩图标和其他操作系统,可能是WinZip或WinRAR图标。

我让客户端使用SHGetFileInfo()函数浏览本地文件。这适用于本地文件,但是,此功能需要物理文件才能检索关联的图标。因此,这不适用于远程托管文件。我已经找到了一些加载图标的样本,给出了文件扩展名,这就是问题所在的地方......获取与远程文件关联的图标的最佳策略是什么?

  1. 每次都转到注册表并查找图标关联的扩展名
  2. 为每个扩展创建1个字节的文件,并对远程文件使用SHGetFileInfo()函数(使用本地1字节文件作为远程文件的关联)
  3. 其他策略???
  4. 创建FTP客户端的专业软件公司会做什么?

    感谢您的时间。

    -Jessy Houle

2 个答案:

答案 0 :(得分:1)

我建议你不要每次都去你的注册表:如果你需要,请去,但是如果你已经使用了某个给定的文件类型,那么记住/缓存该结果(在你的程序中)并重复使用它。 / p>

答案 1 :(得分:1)

使用上一个Stack Overflow问题中的相同想法的过程,并使用注册表而不是实际文件。

How can I get the filetype icon that Windows Explorer shows?