2008-09-11 167 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。