1

****。class***、****。jar***フィルターを使用してファイルを開くダイアログが必要です。* .jarファイルがフォルダーとして扱われるようにしたい([OK]を押すか、ダブルクリックすると、jarファイルの内容[* .class]が表示されます)。この機能は、アーカイブファイル内をインプレースで参照できるTotalCommanderアーカイブプラグインと非常によく似ています(アーカイブファイルを抽出する必要はありません...)

どのようにそれを行うことができるかについてのアイデアはありますか?すでに実装されているものを使用できますか?

みんなありがとう

4

2 に答える 2

2

その標準のWindowsエクスプローラーと一般的なダイアログでこれを行うには、適切なシェル名前空間拡張機能を作成または検索する必要があります。

シェル名前空間拡張機能は、エクスプローラーシェルで仮想フォルダーを表示できるようにするCOMオブジェクトです。したがって、あなたの場合、シェル拡張機能により、ユーザーは、マシン上のフォルダーがあるかのようにjarファイル構造をナビゲートできます。

マネージコードを使用してシェル拡張を記述できますが、少なくとも4.0より前のバージョンのフレームワークでは、複数のバージョンのフレームワークをプロセスにロードする際の競合による潜在的な問題のため、これはMSではサポートされませんでした。4.0がフレームワークバージョンのサイドバイサイドロードをサポートするようになったので、おそらくこれがサポートされます。

シェル名前空間拡張機能の作成に関する記事へのリンクは次のとおりです
http://msdn.microsoft.com/en-us/magazine/cc188741.aspx

私はこれを試したことはありませんが、7-zipでサポートされているファイルをフォルダーとして処理することをサポートする拡張機能があります。自分でこれを行う必要がある場合は、少なくともこれを開始するのに役立つかもしれません。
http://7zipshell.codeplex.com/

于 2010-05-30T14:43:13.637 に答える
0

これは、C#でのJarsのオープンについて説明している記事です。

http://www.codeproject.com/KB/files/opening_jars_cs.aspx

それを拡張機能の作成に関するChrisの回答と組み合わせるか、それが簡単な場合は独自のダイアログを作成すると、やりたいことができるはずです。

于 2010-05-30T14:49:55.973 に答える