指定したファイルのアイコンを取得するには?

解決


マロン  2005-06-25 22:19:02  No: 90701

お世話になります。
さて早速質問なのですが、こちらの過去ログやネットでの検索で、指定したファイルのアイコンを取得する方法を調べ、それらを参考に2種類のコードを作りました。
そのうちの一つが次のコードです。

    Const DI_NORMAL = &H3
    Dim Ret As Long
    Dim nFile As String
    Dim lngLargeImage As Long
    Dim lngSmallImage As Long

    nFile = App.Path & "\test.txt"
    Ret = ExtractIconEx(nFile, 0, lngLargeImage, lngSmallImage, 1)
    With Picture1
        .Cls
        DrawIconEx .hDC, 0, 0, lngSmallImage, 0, 0, vbNull, 0, DI_NORMAL
        .Refresh
    End With

これをWin98およびWinXPで実行するのですが、どちらも Picture1 にアイコンが描画されません。
いったい何がいけないのか教えて頂けないでしょうか。


犬ひろし  2005-06-25 22:59:38  No: 90702

ExtractIconEx
で、とれるアイコンはEXE,DLLぐらいだったはず・・

SHGetFileInfo
で取得したアイコンを
DrawIcon
で描画したらどうでしょう


マロン  2005-06-26 00:08:34  No: 90703

なるほど。その手がありますね。
SHGetFileInfoを使用したらうまくいきました!!
犬ひろしさんありがとうござました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加