ホーム > カテゴリ > Visual Basic >

Exeファイル等からアイコンを取得して描画する

Exeファイル等からアイコンを取得して描画するサンプルです。

サンプルの実行画面

ソースコード

[DrawIconEx.frm]

'DrawIconEx=>アイコンを描画する

'<引数>
'hDC:                 絵画先ハンドル
'xLeft:               絵画位置 (Left)
'Top:                 絵画位置 (Top)
'hIcon:               アイコンハンドル
'cxWidth:             転送する横幅
'cyWidth:             転送する縦幅
'istepIfAniCur:       アニメートアイコンのフレーム番号
'hbrFlickerFreeDraw:  背景のブラシ
'diFlags&:           定数(DI_××参照)

Private Declare Function DrawIconEx Lib "USER32" (ByVal hDC&, ByVal xLeft&, ByVal yTop&, ByVal hIcon&, ByVal cxWidth&, ByVal cyWidth&, ByVal istepIfAniCur&, ByVal hbrFlickerFreeDraw&, ByVal diFlags&) As Long

'ExtractIconEx =>アイコンハンドルを取得する

'<引数>
'lpszFile:           ファイル名
'nIconIndex:         アイコンインデックス
'phiconLarge:        大きいアイコンのハンドルが入る
'phiconSmall:        小さいアイコンのハンドルが入る
'nIcons:             取り出すアイコンの数

'@戻り値@
' エラーの時 -1

Private Declare Function ExtractIconEx Lib "shell32.dll" Alias "ExtractIconExA" (ByVal lpszFile As String, ByVal nIconIndex As Long, phiconLarge As Long, phiconSmall As Long, ByVal nIcons As Long) As Long

'ropImageとropMaskのラスタ操作を実行する
Const DI_NORMAL = &H3


Private Sub Command1_Click()

    Dim Ret As Long
    Dim nFile As String
    Dim L As Long
    Dim S As Long

    nFile = Text1.Text

    Ret = ExtractIconEx(nFile, 0, L, S, 1)

    DrawIconEx Form1.Picture1.hDC, 0, 0, L, 0, 0, vbNull, 0, DI_NORMAL

End Sub

ソースコード一式のダウンロード

vbapi_drawiconex.zip 1.24 KB (1,271 バイト)

このサンプルの動作環境について

このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。





関連記事



公開日:2015年03月04日
記事NO:00352


この記事を書いた人

💻 ITスキル・経験
サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。

画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ
プチモンテ代表、アーティスト名:プチモンテ
🎵 音楽制作
BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~

オリジナル曲を始めました✨

YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte

【男性ボーカル】DA・KA・RA | 新たな明日が風と共に訪れる

【男性、女性ボーカル】時空を超越する先に | 時空と風の交響曲

【女性、男性ボーカル】絆 | 穏やかな心に奏でる旋律