.NET Framework2.0ではファイルからアイコンを抽出することができます。
System.Drawing名前空間のIconクラスにあるExtractAssociatedIconメソッドを使用します。
このメソッドは指定したファイルに含まれるイメージのアイコン表現を返します。
下記はVB.NET用のサンプルです。
まずフォームに、ButtonとPictureBoxを1つずつ貼り付けます。
次にコードですが、下記の通りです。
ファイルからアイコンを抽出する
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim OpenFileDialog1 As New OpenFileDialog
OpenFileDialog1.Filter = "アプリケーション(*.exe)|*.exe|ダイナミックリンクライブラリ(*.dll)|*.dll"
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim ico As Icon = Drawing.Icon.ExtractAssociatedIcon(OpenFileDialog1.FileName)
PictureBox1.Image = ico.ToBitmap()
End If
End Sub
上記サンプルを実行して、Excel.exeを読み込んでみた結果は下記の通りです。