C# 从没有WinAPI的文件、文件夹或驱动器中获取相关图标
有没有一种方法可以在不使用任何DllImports的情况下在C#中获取相关图标C# 从没有WinAPI的文件、文件夹或驱动器中获取相关图标,c#,.net,icons,C#,.net,Icons,有没有一种方法可以在不使用任何DllImports的情况下在C#中获取相关图标 当我使用Icon.ExtractAssociatedIcon时,我似乎无法获得环境中的驱动器、文件夹、特殊文件夹或网络连接文件夹上的任何文件的图标。那么,使用.NET获取图标还有其他方法吗?不是对您问题的回答,但可能有用 您可以从此文件中获取大多数ms windows图标 $VisualStudioInstallationDirectory\Common7\VS2008ImageLibrary\VS2008Image
当我使用Icon.ExtractAssociatedIcon时,我似乎无法获得环境中的驱动器、文件夹、特殊文件夹或网络连接文件夹上的任何文件的图标。那么,使用.NET获取图标还有其他方法吗?不是对您问题的回答,但可能有用 您可以从此文件中获取大多数ms windows图标
$VisualStudioInstallationDirectory\Common7\VS2008ImageLibrary\VS2008ImageLibrary.zip
如果您仍然使用VS2005,请将2008替换为2005。Net只有一种提取关联图标的方法,而且您已经提到过。你能找到的每个库都使用Pinvoke,因为它们从windows中获取图标。因此,如果您需要完全可移植的图标提取引擎,您必须自己编写,很遗憾,但这是唯一的方法(并将所有特定于系统的代码隐藏在其中)。Hm,这很不幸。谢谢你的帮助。这篇关于CodeProject的文章可能会有所帮助。如果你下载他的源代码,他正在使用DllImport(“kernel32”…)。我希望能够在非Windows系统上使用我的代码(而不必使用#if语句更改大量代码)。我怀疑是否有一种可移植的方法可以跨操作系统提取图标Java是可移植的,就我所知Java可以提取所有类型的图标,还是我错了?