2008-09-11 35 views
32

"(マイ)コンピュータ"に仮想ドライブを作成し、それを操作する方法はありますか?JungleDiskのやり方と同じですか?C#:コンピュータに仮想ドライブを作成する

それはおそらくのようなものん:

override OnRead(object sender, Event e) { 
    ShowFilesFromAmazon(); 
} 

は、任意のAPIがあります。このため、S?実際のドライブではなく、XMLファイルやデータベースに書き込むことができます。


Dokan LibrarySystem.IO.IsolatedStorageは最も標準化され、ほとんどのMicrosoft-環境に適応しているように見えるにもかかわらず、ほとんどが私の質問に対応する答えのようです。

答えて

20

のクラスを使用します。 C#とのインタフェースのための.Netラッパーがあります。

+1

私が知っている限り、それは商用プロジェクトで使用する方法がありません、それはLGPLライセンスの下にあります。 WebDAVサーバー+内蔵Windows/Mac OS Xドライブマウント機能を使用することをお勧めします。おそらくこれが結果を達成する最も速い方法です。 –

+11

私はあなたが物事を混ぜると思う:LGPLは商用利用と両立しない。あなたはdllとリンクすることができます(それを参照してください)。あなたがDokan dll自体に変更を加えた場合にのみ、ソースをリリースする必要があります。ただし、変更されたDokanライブラリのソースのみです! ** GPL **コードの場合ではなく、GPLの場合は、**あなたの全アプリケーションのソースを放つ必要があります。 – jdehaan

+1

Dokanは長年死んでいてバグがあり、バグ修正のための希望はありません。 –

6

はい、あなたは仮想ドライブを作成するためにDokan libraryを使用することができますSystem.IO.IsolatedStorage

+2

IsloatedStorageが 'OnRead'イベントを追加して' ShowFilesFromAmazon() 'をどのように追加できるのか分かりませんか?あなたは私に例を教えていただけますか?ありがとう! –

2

マイコンピュータの内容にシェルの名前空間拡張が含まれる場合があります。これらのCOMオブジェクトは、他の多くのシェル拡張と同様に、エクスプローラのメインプロセス内で実行されます。このような拡張機能にC#を使用するのは悪い考えです。拡張機能はExplorer.exeのどのバージョンを使用できるかを制御できないからです。マイクロソフトでは、プロセスごとに1つのCLRしか使用できません。

+0

これは.net 4.0で変更されたと思います – Peter

関連する問題