private void Getitemstodisplay(string Pathpart, string ItemNo) { if (Directory.Exists(Pathpart)) { foreach (string item in Directory.GetFiles(Pathpart, "*" + ItemNo + "*").Where(str => !str.Contains(@"\~$")).OrderByDescending(fi => fi)) { try { string sDocFileName = item; wpfThumbnailCreator pvf = new wpfThumbnailCreator(); pvf.DesiredSize = new Size { Width = 256, Height = 256 }; System.Drawing.Bitmap pic = pvf.GetThumbNail(sDocFileName); imageList.Images.Add(pic); } catch (Exception) { const ShellEx.IconSizeEnum size = ShellEx.IconSizeEnum.ExtraLargeIcon; imageList.Images.Add(ShellEx.GetBitmapFromFilePath(item, size)); } FileInfo fi = new FileInfo(item); listFiles.Add(fi.FullName); listView.Items.Add(fi.Name, imageList.Images.Count - 1); } } }
public static Icon GetIcon(string fileName) { try { Icon icon = Icon.ExtractAssociatedIcon(fileName); const ShellEx.IconSizeEnum ExtraLargeIcon = default; const ShellEx.IconSizeEnum size = (ShellEx.IconSizeEnum)ExtraLargeIcon; ShellEx.GetBitmapFromFilePath(fileName, size); return(icon); } catch { try { return(GetIconOldSchool(fileName)); } catch { return(null); } } }