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


ika  2003-10-11 00:22:02  No: 109059

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

VB.NET 2003 Win2000SP5


ika  2003-10-11 05:01:42  No: 109060

説明不足だったので。

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


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

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






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