如果 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)
是否是检测驱动器是否存在的正确方法...
最佳答案
要从 .NET 应用程序执行此操作,您必须 P/Invoke SHGetFileInfo
function来自 Windows API(它在 shell32.dll
中定义)。
下面是一些示例代码,展示了如何执行此操作:Getting Associated Icons Using C#
关于c# - 获取驱动器和目录的图标 : Icon. ExtractAssociatedIcon(filePath) 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5523116/