ファイル/フォルダに関連付けられたアイコンを取得する

C#

ファイル/フォルダのパスを指定してアイコンを取得

WindowsAPICodePack パッケージを利用することで、ファイルパスもしくはフォルダパスを指定して関連付けられたアイコンを取得することができます。
デスクトップやドキュメント、ピクチャなど特別なアイコンも取得することができます。
UNC(\\で始まる共有フォルダ)パスにも対応しています。

NuGetパッケージ
PM > Install-Package Microsoft-WindowsAPICodePack-Shell
コードサンプル
using Microsoft.WindowsAPICodePack.Shell;
private ImageSource GetIcon(string path)
{
    using (var obj = ShellObject.FromParsingName(path))
    {
        obj.Thumbnail.FormatOption = ShellThumbnailFormatOption.IconOnly;
        return obj.Thumbnail.SmallBitmapSource;         // 16*16
        //return obj.Thumbnail.MediumBitmapSource;        // 32*32
        //return obj.Thumbnail.LargeBitmapSource;         // 48*48
        //return obj.Thumbnail.ExtraLargeBitmapSource;    // 256*256
        //return obj.Thumbnail.BitmapSource;              // 256*256
    }
}

コメント

タイトルとURLをコピーしました