2009-07-12 10 views
3

私は自分のコンピュータ用のタグ付けプログラムで作業しています。エクスプローラ(または類似のもの)にファイルやフォルダのリストを渡して表示し、Windowsのフォルダビューと同じようにそれらを操作できるようにする必要があります。Windowsエクスプローラビューに特定のファイルやフォルダを追加する

私は既に、ファイルのパスに関連するタグをコンピュータに記録し保存するソフトウェアを作成しました。パスのリストを動的に検索することができますが、次の部分では少し困っています。

ファイルが「temp」フォルダ内にあると思って操作することを欺くソリューションがあっても、単純にそのファイルを表示すれば完璧です。

私はこれまでのところC#ですべてを書いていますが、私はその言語を気にかけません。

ありがとうございます!

答えて

0

独自のディレクトリビューアを作成します。しかし、それはかなり挑戦的で時間と費用がかかります。

バリアント2:

すべてのタグ付けされたツリー構造(すべての実ファイルまたは単にいくつかのid-Sへの使用リンク)でカタログを作成します。

エクスプローラで表示します。

カタログの変更を追跡し、タグ付きデータを変更します。

+1

なぜ彼はこれを行うことをお勧めしますか? –

+0

原因簡単な解決策はありません。 Total Commanderにプラグインを作成することを除いて) –

+0

Varient 1は私が達成しようとしてきたものでした。しかし、それは個人的なプロジェクトであり、Windowsエクスプローラに置かれたスピットとポリッシュを再現するのは困難です。 カタログを作成すると、すべてのファイルを一時ディレクトリにコピーし、エクスプローラでそのディレクトリに移動することを意味しますか?それはうまくいくでしょうが、この問題を解決するには過剰な過労のようです。また、このプログラムは、テラバイトの600MB以上のファイルを持っている私のメディアサーバーにタグを付けることになるので、この方法がうまくいかないと思います。 –

0

タグ付きファイルへのリンクを含む一時的なフォルダを作成して、アプリに「ファイル:// c/temp/mytaggedfolder」などのように移動できるエクスプローラコントロールを埋め込むこともできます

リストビューにすべてのデータを追加するのはどうでしょうか?たとえば、codeprojectのコード例がたくさんあります。

0

IShellFolderとIShellViewを検索します。 http://www.codeproject.com/KB/shell/explorer.aspx

インターフェイスは特に使い方が簡単ではありませんが、特に難しくありません。非常に強力です。あなたの説明から、あなたのアプリケーション内でエクスプローラのビューを本質的にホストするために必要なものとまったく同じように聞こえるし、実際のファイルシステムおよび/またはカスタム名前空間の両方を指し示し、その動作をカスタマイズ/オーバーライドする。

2

IExplorerBrowserコントロールは、Windowsエクスプローラコントロールを使用するためのネイティブインターフェイスです。これは、Windows APIコードパック.NET Frameworkの.NETの方法でラップされています(http://code.msdn.microsoft.com/WindowsAPICodePack

あなたはそのコントロールを使用して起動することができます(WPFとwinformsバージョン、イベント、設定するプロパティ/フラグなど)。

これで目的のコントロールが得られない場合は、実際のシェルオブジェクトに移動できます。上記のライブラリは、ファイル、フォルダ、コントロールパネルなどの仮想アイテム、その他の既知のフォルダなど、さまざまな種類のシェルオブジェクトにアクセスすることもできます。シェルサンプルを見て、その使用法を確認できます。

要するに、アプリケーションでListBoxのようなコントロールを使用して、ファイル/フォルダの種類(Shellで表されるもの)を表示できます。サムネイル/アイコン、プロパティなど、各オブジェクトに関する豊富な情報を取得することもできます。

関連する問題