実行ファイルなどからアイコンを得る

<EXE、OCX、DLLなどからアイコンを取得>

宣 言

Declare Function ExtractIcon Lib "SHELL32" Alias "ExtractIconA" (ByVal hInst&, ByVal lpszExeFileName$, ByVal nIconIndex&) As Long

引 数 説 明

名称

内容

hInst

Long

呼び出すアプリのインスタンス。通常はApp.hInstanceでよい。

lpszExeFileName

String

アイコンを読み出すファイルのパス。

nIconIndex

Long

読み出すアイコンの番号。−1では含まれるアイコンの総数を返す。

戻 り 値

内容

Long

nIconIndexが−1ならアイコンの総数。−1以外ならアイコンのハンドル。

サ ン プ ル プ ロ グ ラ ム

まずフォームモジュールを追加しリストボックスとコマンドボタン、ピクチャーボックスを配置し、以下のコードを張り付け実行してください。コマンドボタンを押すと、ファイル読み込みボックスが表示されますので、アイコンが含まれる大るを指定してください。すると、リストボックスにアイコン一覧が表示されますので、見たいアイコン番号を押すとピクチャーボックスにアイコンを表示します。

Option Explicit
Private Declare Function ExtractIcon Lib "SHELL32" Alias "ExtractIconA" (ByVal hInst&, ByVal lpszExeFileName$, ByVal nIconIndex&) As Long
Private Declare Function DrawIcon Lib "USER32" (ByVal hDC&, ByVal X&, ByVal Y&, ByVal hIcon&) As Long
Dim file As String

Private Sub Command1_Click()
Dim num As Long
Dim i As Long

file = InputBox("アイコンがあるファイルを指定してください")
num = ExtractIcon(App.hInstance, file, -1)
List1.Clear
For i = 1 To num
List1.AddItem Str(i)
Next
End Sub


Private Sub List1_Click()
Dim hIcon As Long

Picture1.Cls
hIcon = ExtractIcon(App.hInstance, file, List1.ListIndex)
DrawIcon Picture1.hDC, 0, 0, hIcon
End Sub

トップに戻る
Visual Basicワンポイントテクニック目次に戻る

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!