質問

.NETでディスクドライブをエミュレートして、読み取り/書き込み/ロック操作をインターセプトする方法はありますか?
C#の GMailドライブに似たフロントエンドで何かを作成したいと思います。

ありがとう、 トム

役に立ちましたか?

解決

私はこの目的のために自分でEldos Callback File System を使用していますが、それは良いことですが、正確ではありません安い。

無料/格安のプロジェクトもいくつかありますが、そのうちの1つは、最近SOでの同様の質問で言及されたと思いますが、現時点ではもう見つかりません。ただし、階層化されたWindowsファイルシステムドライバーは簡単ではないため、安定性は大きな問題になる傾向があります。

他のヒント

Linuxでは、Mono.Fuse APIを使用できます( http:// www。 jprl.com/Projects/mono-fuse.html )を使用して、ユーザーランドコードで.NETベースのファイルシステムを実装します。

http://www.truecrypt.org/ の動作を確認できます。それは、ファイルを使用するか、ドライブまたはパーティションを使用することによって、まさにそれを行っています。そして、実際のドライブであるかのようにファイルをマウントします。さて、おそらくソースコードは少し複雑です;)

実際には、.NetはディスクアクセスなどのOS機能の上にあり、マネージドファイルアクセサーのようなものを提供します。マネージドC#ですべてを記述できますが、OSでそれを扱うにはアンマネージコールが必要です。別のドライブ。

すべてのシェル拡張機能はCOMです。 http: //msdn.microsoft.com/en-us/library/cc147467(VS.85).aspx

ただし、エクスプローラからのドラッグアンドドロップを許可し、ファイルシステムビューのように見える.Netデスクトップアプリを作成できます。

EZNamespaceExtension for .NET も使用できます。これにより、Windows Explorerとの統合が可能になります。ライセンスが開発者ごとであり、配布ではないことを考えれば、それほど高価ではありません。

更新 EZNamespaceExtension.NETの大きな問題。それは長い間更新されていません。 LogicNPはEZNamespaceExtension.NETへの関心を失ったようです。これは、2010年以降、いくつかの新しい機能がリリースされていないためです。.NET4サポートおよびWindows 8リボンツールバーのサポートなし

上記のリンクを使用して EZNamespaceExtension for .NET をチェックアウトしました。リリース2013バージョンとして最新の状態を維持しているようです。ただし、Explorer.exeでドライブとして表示するという質問に答えられるかどうかはわかりません(わかりました。ドライブ文字として表示できません)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top