5

如果Icon.ExtractAssociatedIcon(filePath)是在 .NET && 中获取图标的唯一方法,如果它不适用于驱动器和目录(是吗?)那么您如何为它们获取图标?

换句话说,我想

foreach (string driveName in Directory.GetLogicalDrives())
//if (System.IO.Directory.Exists(driveName))
{
    using (System.Drawing.Icon systemIcon = System.Drawing.Icon.ExtractAssociatedIcon(driveName))
    { ... }
}

^ 这显然不起作用(仅适用于文件)

我不确定System.IO.Directory.Exists(file)检测驱动器是否存在的正确方法......

4

1 回答 1

11

要从 .NET 应用程序执行此操作,您必须从 Windows API(它在 中定义)中 P/InvokeSHGetFileInfo函数shell32.dll

以下是一些示例代码,展示了如何执行此操作:Getting Associated Icons Using C#

于 2011-04-02T12:31:49.730 回答