【发布时间】:2014-07-11 03:22:24
【问题描述】:
我正在制作一个文件浏览器,对于缩略图视图,它需要一个文件的图标。除了 Steam 游戏,我得到了所有文件的图标。我环顾四周,找不到像 Windows 那样获取图标的方法。
编辑: 这是我目前用来获取文件图标的:
public static Bitmap GetBigImage(string path, Size size)
{
Bitmap bmp;
string ext = System.IO.Path.GetExtension(path);
if (ext == ".exe")
{
Icon ico = Icon.ExtractAssociatedIcon(path);
bmp = ico.ToBitmap();
ico.Dispose();
}
else
{
if (imageType.Contains(ext.Replace(".", "")))
{
Image img = Image.FromFile(path);
bmp = new Bitmap(img, new Size(size.Width - 20, 80));
img.Dispose();
}
else
{
Icon ico = Win32.GetLargeIconForExtension(ext);
bmp = ico.ToBitmap();
ico.Dispose();
}
}
return bmp;
}
这是我想要获得的路径 steam://rungameid/209170
在 GetBigImage 中,如果我查看路径是否包含 steam://(在任一 if 语句中),该方法仍然不返回任何图标。
【问题讨论】:
-
你能给我们一个你试图获取图标的文件的例子吗?例如。它的完整路径和名称是什么。我有蒸汽,我可能会玩弄它并弄清楚。