2008-09-11 168 views
32

有沒有什麼辦法在「(我的)電腦」中創建一個虛擬驅動器並對其進行操作,有點像JungleDisk那樣做?C#:在計算機中創建一個虛擬驅動器

它可能確實是這樣的:

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

是否有任何API:■此?也許寫入XML文件或數據庫,而不是真正的驅動器。


Dokan Library似乎是大多與我的問題所對應的答案,即使System.IO.IsolatedStorage似乎是適應最規範,最微軟環境。

回答

20

可以使用Dokan library來創建一個虛擬驅動器。有一個.Net包裝與C#接口。

+1

據我所知,在商業項目中沒有辦法使用它,它是在LGPL許可下。我建議使用WebDAV服務器+內置的Windows/Mac OS X驅動器安裝功能。可能這是實現結果的最快方法。 – 2010-09-05 22:12:50

+11

我認爲你混合的東西:LGPL不是與商業用途不兼容。你可以鏈接到dll(引用它),並且只有當你更改Dokan dll本身時,你必須釋放源代碼:但修改後的Dokan庫的來源!這不是** GPL **代碼的情況,對於GPL您必須發佈**您的**整個應用程序的來源。 – jdehaan 2010-09-06 04:51:08

6

是,使用該班System.IO.IsolatedStorage

+2

我不明白IsloatedStorage如何添加一個`OnRead`事件並執行`ShowFilesFromAmazon()`?你能舉個例子嗎?謝謝! – 2011-04-19 00:06:11

2

我的電腦中的內容可以包含Shell命名空間擴展。這些COM對象與其他許多shell擴展一樣,在主瀏覽器進程中運行。使用C#進行這種擴展是一個壞主意,因爲您的擴展無法控制哪個CLR版本Explorer.exe可以使用。而且微軟每個進程只允許一個CLR。