如果Icon.ExtractAssociatedIcon(filePath)
为the only way,则可以在.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)
是检测驱动器是否存在的正确方法......
答案 0 :(得分:11)
要从.NET应用程序执行此操作,您必须从Windows API P / Invoke SHGetFileInfo
function(在shell32.dll
中定义)。
以下是一些示例代码,说明如何执行此操作:Getting Associated Icons Using C#