2012-05-13 5 views
0

標準のウィンドウを開き、ファイルダイアログを保存したいのですが、私が使用している特定のアプリケーションはリモートファイルシステムです(基本的には、 SaveFileDialogへのIFileSystemインターフェイスを提供し、それを提供する私が見るファイルを魔法のように変更する)。誰もがこの機能をサポートするダイアログの完全な実装を知っていますか?標準のC#/ Windowsダイアログでそれを行う方法はありますか?C#Open/SaveFileDialogと別のファイルシステム

もしそうでなければ、自分でダイアログを実装します。これらのダイアログの実装には、たとえこの機能をサポートしていないとしても、私はまだそれらを切り離してその機能を追加することができます。

ありがとうございます!

+0

このファイルシステムをシェルが認識して、ファイルダイアログがフリーで使えないのですか? –

答えて

2

唯一の選択肢は、独自のシェル名前空間拡張を実装することです。 「マイコンピュータ」の子として登録され、別のドライブのように見えます。 注意:これは面倒な作業です.Net Frameworkの制限(< 4.0)のため、C/C++で記述する必要があります。

Hereが例です。

+0

私は4.0以前の制限がCLRの別のバージョンを横に並べてロードできないと思っていたので、管理拡張を書き込むことはできましたが、CLRが既にエクスプローラで実行されている可能性があります? –

+0

それは私が話すことの限界です。 – dzendras

+0

それは私が欲しいと思っているものとほとんど同じように見えます。理想的には私はそれ以外のものを閲覧することはできませんでしたが、他のすべてを隠す方法や、その場所以外のファイルを拒否する方法があるかどうかがわかります。リンクありがとう! – Trevor

1

これらのクラスは、ネイティブのWindowsシェルAPI関数を呼び出す際の非常に薄いラッパーです。 XP以前のGetOpenFileName()、Vista以上のIFileOpenDialog COMインターフェイスエクスプローラでファイルシステムが見えない場合、それらのラッパーはまったく役に立たないでしょう。

関連する問題