スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
 

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

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

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のソースをご覧ください。
 

最近のネットワークの調整

最近、X-FinderとTablacus Explorerで行ったネットワーク関連の調整はネットワークパスを開こうとした際に間違ったサーバー名だったりして問題がある場合、しばらく「応答なし」になって固まってしまう問題を対策していました。

例えば、X-Finder 11-12でアドレスバーに「\\unknown\hoge」と入力したらしばらく固まってしまっていました。

固まるのは、パスからアイテムIDリストというWindowsの仮想フォルダを扱う物に変換する箇所だと判った時に変換をバックグラウンドスレッドで行って、メインスレッドではメッセージ処理を行いながら変換を待つということもやってみたこともあったのですが、今ひとつ効果がありませんでした。

今回はバックグラウンドスレッドで変換を行ってアイテムIDリストが取得できたら、メインスレッドにその後の処理を投げるといった感じの処理を行ったらよい感じにできました。

詳しくはTablacus Exploerのソースをご覧ください。

static void threadParseDisplayName(void *args)がバックグラウンドの処理で
VOID CALLBACK teTimerProcParse(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)がアイテムIDリストを取得した後の処理になります。
Tablacus Explorerではメインスレッドに投げるのにSetTimerを使っていますが、X-FinderではSynchronizeメソッドを使用しています。

今まで、なんでこの方法を思いつかなかったのかと思いながら、他のファイラーをダウンロードしてきてアドレスバーに「\\unknown\hoge」と入力したら、しばらく固まるの物がほとんどだったのでちょっとホッとしてしまいました。

こちらの環境のWindows 7(x64)ではAs/R 3.4.0.92(x64)、CubicExplorer 0.95.1、Explorer++ 1.3.5.531(x64)、NobleBullet 1.4.0(x64)、Q-Dir 5.72(x64)が固まりました。PPx 1.33(x64)は即エラーが表示されて後から詳しいエラーが表示されました。なにげにエクスプローラも固まりません。

それにしても、PPxの即エラーは凄いな。
 

フリーソフトスーパーベスト

フリーソフトスーパーベストフリーソフトスーパーベスト中

 
続きを読む

Windows100%で紹介されました。

Windows100%
Windows100%の3月号のフリーソフト65でX-Finderが紹介されました。 

ネットワークマガジンで紹介されました。

ネットワークマガジン
X-Finderがフリーソフト活用委員会コーナー2ページに渡って紹介されました。
内容もUSBメモリを活用する方向にテーマを絞って書かれていて良い感じです。
また、ニュース速報板のファイラー使えよ。色々と捗るぞでちょこちょこX-Finderの名前が出たようです。 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。