DOBON.NET DOBON.NETプログラミング掲示板過去ログ

仮想フォルダのアイコンを取得したい。

  • 題名: 仮想フォルダのアイコンを取得したい。
  • 著者: ika
  • 日時: 2003/10/11 9:29:14
  • ID: 909
  • この記事の返信元:
    • (なし)
  • この記事への返信:
    • (なし)
  • ツリーを表示
分類:[.NET]

仮想フォルダのアイコンを取得し、ツリービューに表示したいと考えています。
SHGetSpecialFolderLocationを使えばいいと思いますが、
CLSIDからアイコンを取得することは、できるのでしょうか?

ファイル・フォルダは、Shellオブジェクトで取得しています。
アイコン自体は、SHGFI_SYSICONINDEXでアイコンインデックスを取得しています。

通常の物理フォルダアイコンは、以下のように取得しています。
(ファイルの場合は、objFolderItem.Pathにパスが帰ってくるので、そのまま、
以下のように取得しています。)

hImgSmall = SHGetFileInfo(objFolderItem.Path, 0, shinfo, Marshal.SizeOf(shinfo), _
SHGFI_SYSICONINDEX Or SHGFI_SMALLICON Or SHGFI_DISPLAYNAME Or SHGFI_TYPENAME)
childNodes.ImageIndex = shinfo.iIcon

通常の仮想フォルダの場合は、objFolderItem.Pathを見てみると、
::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"のような値が返ってきます。
これから、何とかしてアイコンを取得できないものかと考えていますが?

DOBON.NET | プログラミング道 | プログラミング掲示板