Mit diesem kleinen Snippet kann das Icon einer Datei ausgelesen werden. Gibt es kein Icon wird das Standard-Windows Icon benutzt.

In diesem Beispiel wird das Icon eines ListViewItems gesetzt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        private void GetImageLivi(ListViewItem liviItem, string filename)
        {
            FileInfo fi = new FileInfo(filename);
 
            System.Drawing.Icon iconForFile = System.Drawing.SystemIcons.WinLogo;
            iconForFile = System.Drawing.Icon.ExtractAssociatedIcon(fi.FullName);
 
            if (!ilLivi.Images.ContainsKey(fi.Extension))
            {
                iconForFile = System.Drawing.Icon.ExtractAssociatedIcon(fi.FullName);
                ilLivi.Images.Add(fi.Extension, iconForFile);
            }
 
            liviItem.ImageKey = fi.Extension;
        }