自分で実装しないフォルダツリー
自分で実装しないフォルダツリー
X-Finderのシステム互換やTablacus Explorerのフォルダツリーは自分で実装しないで、Windowsの機能で実現しています。
Vista/7/8の場合はINameSpaceTreeControlを使っています。
EternalWindowsの「NameSpaceTreeControlの作成」で詳しく解説されています。
EternalWindows / NameSpaceTreeControlの作成
こことExplorerBrowserのページを見た時にこれからはNameSpaceTreeControlやExplorerBrowserを使ったファイラーがいろいろできると思いました。
しかし、Vista以降でしか使えないのがネックなのか、あまりNameSpaceTreeControlを使っているファイラーは出てきてないような気がします。
すでにあるファイラーだとフォルダツリーは作っているので、2重に持つのはチェックがややこしくなってしまいますし…
XPの場合はIShellNameSpaceを使っています。
幻想遺電子観測地点の「Dolphin技術情報」でIShellNameSpaceを知ったのですが、セキュリティの関係でIWebBrowser2からでは実行できなくなっていました。
その後、EternalWindowsの「Flash再生サンプル」を見た時にこれのCLSID_ShockwaveFlashの代わりにCLSID_ShellNameSpaceにすれば実装できるのではと考え、テストしてみたら一応動くようになりました。
ただ、これはもともとIEのお気に入りツリー用なのでフォルダツリーにするのに苦労しました。
CLSIDもCLSID_ShellNameSpaceではなくCLSID_ShellShellNameSpaceを使っていますが、これはWindows 7では削除されてました。(多分Vistaから)
CLSID_ShellNameSpaceはIShellFavoritesNameSpaceに対応していて、CLSID_ShellShellNameSpaceがIShellNameSpaceに対応している様な感じがします。
「幻想遺電子観測地点 / Dolphin技術情報」のアーカイブ
EternalWindows / Flash再生サンプル
詳しくはTablacus Exploerのソースをご覧ください。