C# 提取图标的更好做法是什么?
我创建了一个资源管理器窗口,在加载文件类型等时扫描目录。当它第一次加载时,我使用C# 提取图标的更好做法是什么?,c#,winapi,C#,Winapi,我创建了一个资源管理器窗口,在加载文件类型等时扫描目录。当它第一次加载时,我使用 internal static extern uint ExtractIconEx(string szFileName, uint nIconIndex, IntPtr[] phiconLarge, IntPtr[] phiconSmall, uint nIcons); 及 扫描当前注册的图标,然后将它们与im使用的文件关联。它在我的机器上运行良好,但当我在其他机器上运行它时,我会得到一个低资源错误。 所以我的问
internal static extern uint ExtractIconEx(string szFileName, uint nIconIndex, IntPtr[] phiconLarge, IntPtr[] phiconSmall, uint nIcons);
及
扫描当前注册的图标,然后将它们与im使用的文件关联。它在我的机器上运行良好,但当我在其他机器上运行它时,我会得到一个低资源错误。
所以我的问题是什么是更好的做法?按照我现在的方式加载它们,或者每次我都需要枚举一个目录来查找文件类型并将其关联 也可以使用system.drawing执行此操作
var icon = System.Drawing.Icon.ExtractAssociatedIcon(@"c:\xxx\some.file");
(您需要调整此大小以适应较小的外壳大小)是什么让您认为图标是资源问题的根源?您的程序正在加载多少个图标?有多少是免费的?你能出示相关代码吗?
var icon = System.Drawing.Icon.ExtractAssociatedIcon(@"c:\xxx\some.file");