デスクトップのアイコンを貼り付けるには?


レオリオ  2003-06-14 18:06:49  No: 78276

初めて投稿させていただきます。
いま、デスクトップ上のアイコンをドラックしてフォームに貼り付けようとしているのですが、
なかなか出来ません。
現在やっているやり方として、
ピクチャーフレームにドラックして、そこに貼り付けようとしています。
ファイル名からアイコンを取得して貼り付けようとしているのですが、
ファイル名を取得することは出来ても、アイコンを貼り付けることが出来ません。
やり方がまずいのでしょうか?よろしかったら教えてください。
ちなみにソースはこんな感じです。

    If Data.GetFormat(vbCFFiles) Then
        nFile = Data.Files(1)
        MsgBox nFile
        ret = ExtractIconEx(nFile, 0, L, S, 1)
        DrawIconEx main.Picture1.hDC, 0, 0, L, 0, 0, vbNull, 0, DI_NORMAL
    End If


oku  URL  2003-06-14 23:08:58  No: 78277

DrawIconExは確かEXE形式しか駄目だったような?
もしEXE形式のアイコンを取得する場合、
DrawIconExの直前にExtractIconExでアイコンハンドルを取得しないと駄目です。
このサイトのAPIの所に(アイコンを描画する)を参考にしてください。

ファイルやフォルダ等に関連付けされているアイコンを
取得したい場合は、SHGetFileInfo()関数を使って、
ファイルシステムオブジェクトのアイコンを取得してください。

vbvbvb.comに行けばサンプル載ってますよ。
http://www.vbvbvb.com/jp/gtips/0951/gSHGetFileInfoShGfiIconShGfiLargeIcon.html


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

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






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