タブファイラー開発ブログ

Tablacus ExplorerやX-Finderの作者のブログ

自分で実装しないフォルダツリー

自分で実装しないフォルダツリー 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のソースをご覧ください。