提取图标的更好做法是什么?
我创建了一个资源管理器窗口,它在加载时扫描目录中的文件类型等。当它第一次加载时,我使用
internal static extern uint ExtractIconEx(string szFileName, uint nIconIndex, IntPtr[] phiconLarge, IntPtr[] phiconSmall, uint nIcons);
和
internal static unsafe extern int DestroyIcon(IntPtr hIcon);
扫描当前注册的图标,然后将它们与我使用的文件关联起来。它在我的机器上运行良好,但当我在其他机器上运行它时,我收到低资源错误。 所以我的问题是更好的做法是什么?按照我的方式,将它们全部加载,或者每次我需要枚举一个目录来查找文件类型并将其关联起来。
I have created an explorer window that scans the directories upon loading for filetypes, etc. when it first loads, i use
internal static extern uint ExtractIconEx(string szFileName, uint nIconIndex, IntPtr[] phiconLarge, IntPtr[] phiconSmall, uint nIcons);
and
internal static unsafe extern int DestroyIcon(IntPtr hIcon);
to scan for currently registered icons and then i associate them with teh files im using. it works fine on my machine but when i run it on others, i get a low resource error.
so my question is what is a better practice? to go the way that i am, and load them all up, or everytime i need to enumerate a directory to look for the filetype and associate it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
作为替代方案,您可以使用 system.drawing 来完成此操作
(您需要根据小外壳尺寸调整其大小)
As an alternative you could do this with system.drawing
(You would need to resize this for the small shell size)