目前,我通过调用 SHGetFileInfo 获取 native 图标。然后,我使用以下代码将其转换为位图。位图最终以 WPF 表单显示。
有没有更快的方法来做同样的事情?
try
{
using (Icon i = Icon.FromHandle(shinfo.hIcon))
{
Bitmap bmp = i.ToBitmap();
MemoryStream strm = new MemoryStream();
bmp.Save(strm, System.Drawing.Imaging.ImageFormat.Png);
BitmapImage bmpImage = new BitmapImage();
bmpImage.BeginInit();
strm.Seek(0, SeekOrigin.Begin);
bmpImage.StreamSource = strm;
bmpImage.EndInit();
return bmpImage;
}
}
finally
{
Win32.DestroyIcon(hImgLarge);
}
最佳答案
怎么样:
var icon = System.Drawing.Icon.ExtractAssociatedIcon(fileName);
var bmp = icon.ToBitmap()
关于c# - 如何在 WPF 中显示 Windows 文件图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7640570/