非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

C#: ファイルのアイコン画像を取得する方法

   

C#で他のファイルのアイコン画像を取得する方法です。

ExcelファイルやWordファイル、画像ファイルなど、Windowsのエクスプローラーやデスクトップ上では関連ソフトのアイコンが現れます。

この画像を取得するってわけです。

広告

今回の完成形

出来上がったものはご覧の通り。

フォーム上にファイルのアイコン画像を表示させています。とあるExcelファイルのアイコン画像を取得して表示させております。

 

今回はこいつのプログラムを紹介したいと思います。

 

ソースコード

プログラムコードは以下の通りです。Book1.xlsxというファイルのアイコン画像を読み込んで、Pictureコントロールに書き出しています。

using System;
using System.Drawing;
using System.Windows.Forms;

class Test{
  static void Main(){
    Application.Run(new TestForm());
   }
}

class TestForm : Form{

  public TestForm(){
    this.StartPosition = FormStartPosition.CenterScreen;
    this.Width = 400;
    this.Height = 250;
    this.Text = "テスト";

    PictureBox pb1 = new PictureBox(){
      Size = new Size(170, 170),
      Location = new Point(10, 10),
      Parent = this,
    };

    Icon appIcon = Icon.ExtractAssociatedIcon("C:¥¥***¥¥Book1.xlsx");
    pb1.Image = appIcon.ToBitmap();
  }
}
 

 

解説

まずはフォーム上にPictureBoxクラスのオブジェクトを貼っておきます。

PictureBox pb1 = new PictureBox(){
  Size = new Size(170, 170),
  Location = new Point(10, 10),
  Parent = this,
};
 

 

次にIconクラスを使ってアイコン画像を取得するわけですね。それをPictureBoxオブジェクト(pb1)に貼ればOKです。至って簡単。

Icon appIcon = Icon.ExtractAssociatedIcon("C:¥¥***¥¥Book1.xlsx");
pb1.Image = appIcon.ToBitmap();
 

 

広告

 - C#応用編