提取图标有什么更好的做法?

时间:2011-05-26 01:33:18

标签: c# winapi

我创建了一个资源管理器窗口,在第一次加载时加载文件类型等时扫描目录,我使用

internal static extern uint ExtractIconEx(string szFileName, uint nIconIndex, IntPtr[] phiconLarge, IntPtr[] phiconSmall, uint nIcons);

internal static unsafe extern int DestroyIcon(IntPtr hIcon);

扫描当前注册的图标,然后我将它们与使用的文件相关联。它在我的机器上工作正常但是当我在其他人上运行时,我得到一个低资源错误。 所以我的问题是什么是更好的做法?按照我的方式,加载它们,或每次我需要枚举一个目录来查找文件类型并关联它。

1 个答案:

答案 0 :(得分:1)

作为替代方案,您可以使用system.drawing

执行此操作
var icon = System.Drawing.Icon.ExtractAssociatedIcon(@"c:\xxx\some.file");

(你需要为小壳尺寸调整大小)