tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル ショートカットフォルダのアイコン取得
投稿日: 2009/01/16(Fri) 23:44
投稿者のぶ
いつもお世話になっております。

今、フォルダのショートカットに関連づけられているアイコンを取得したいのですが
エラーになってしまいます。

一応、フォルダアイコンは下記のパスを参考にして作っていたのですが・・・
>> http://support.microsoft.com/kb/319340/

環境は VB2008 WinXP で VB歴 1ヶ月ほどです。

ソースはこんな感じです。
Dim hImgSmall As IntPtr
Dim fName As String      'The file name to get the icon from.
Dim shinfo As SHFILEINFO
shinfo = New SHFILEINFO()

ListView1.SmallImageList = ImageList1
ListView1.LargeImageList = ImageList1

shinfo.szDisplayName = New String(Chr(0), 260)
shinfo.szTypeName = New String(Chr(0), 80)

fName = e.Node.FullPath & "\" & sName2.name

上記で リンク元とショートカットのフォルダ名を両方編集しましたが
うまくいきませんでした。

hImgSmall = SHGetFileInfo(fName, 0, shinfo, Marshal.SizeOf(shinfo),SHGFI_SMALLICON)
Dim myIcon As System.Drawing.Icon
myIcon = System.Drawing.Icon.FromHandle(shinfo.hIcon)

上記の shinfo.hIcon で Icon に渡された Win32 ハンドルが有効ではないか、
または型が正しくありません。 とエラーになってしまいます。
どう対処すればいいいのかわかりません。誰かご教授願います。

ImageList1.Images.Add(myIcon)
ListView1.Items.Add(fName, nIndex)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。