从WinAPI获取文件,文件夹或驱动器中的关联图标

时间:2009-06-16 06:32:39

标签: c# .net icons

有没有办法在不使用任何DllImports的情况下在C#中获取关联图标?

当我使用Icon.ExtractAssociatedIcon时,我似乎没有获取驱动器,文件夹,环境中的SpecialFolder或网络附加文件夹上的任何文件的图标。那么有没有其他方法可以使用.NET获取图标?

3 个答案:

答案 0 :(得分:4)

.Net只有一种提取相关图标的方法,你已经提到了它。你可以找到的每个lib都使用pinvokes,因为它们从windows获取图标。因此,如果您需要完全可移植的图标提取引擎,您必须自己编写它,遗憾的是,这是唯一的方法(并隐藏所有系统特定的代码)。

答案 1 :(得分:0)

不是您问题的答案,但可能有用。

您可以从此文件中获取大部分ms窗口图标

  

<强> $ VisualStudiosInstallationDirectory \ Common7 \ VS2008ImageLibrary \ VS2008ImageLibrary.zip

如果您仍然使用VS2005,则替换2008年的2005年

答案 2 :(得分:0)

这篇包含CodeProject代码的文章可能会有所帮助。

Extract icons from EXE or DLL files