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
|
プログラミング道
|
プログラミング掲示板
仮想フォルダのアイコンを取得し、ツリービューに表示したいと考えています。
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}"のような値が返ってきます。
これから、何とかしてアイコンを取得できないものかと考えていますが?