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


ika  2003-10-10 15:22:02  No: 109059  IP: [192.*.*.*]

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

VB.NET 2003 Win2000SP5

編集 削除
ika  2003-10-10 20:01:42  No: 109060  IP: [192.*.*.*]

説明不足だったので。

ファイル・フォルダは、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}"のような値が返ってきます。
これから、何とかしてアイコンを取得できないものかと考えていますが?

編集 削除