有没有办法在.NET中模拟磁盘驱动器,拦截读/写/锁定操作?
我想在C#中创建类似于 GMail Drive 的前端。

谢谢, 汤姆

有帮助吗?

解决方案

我为此目的使用了Eldos 回调文件系统,但虽然它很好,但并不完全是便宜。

还有一些免费/廉价的项目,我相信其中有一个项目最近在类似的问题上提到过 - 现在不能再找到它了。但是,稳定性往往是一个主要问题,因为分层的Windows文件系统驱动程序并非易事。

其他提示

在Linux上,您可以使用Mono.Fuse API( http:// www。 jprl.com/Projects/mono-fuse.html )使用用户密码实现基于.NET的文件系统。

您可以看到 http://www.truecrypt.org/ 是如何做到这一点的。它正是通过使用文件或使用驱动器或分区来完成的。然后它将文件安装为真正的驱动器。现在,可能源代码有点复杂;)

实际上,.Net位于操作系统功能之上,如磁盘访问,可以为您提供托管文件访问器等内容。您可以在托管C#中编写所有内容,但是您需要非托管调用才能使操作系统像另一个驱动器。

所有shell扩展程序都是COM: http: //msdn.microsoft.com/en-us/library/cc147467(VS.85).aspx

但是,您可以编写一个允许从资源管理器拖放的.Net桌面应用程序,它看起来像文件系统视图。

您还可以使用 EZNamespaceExtension for .NET 。这使您可以与Windows资源管理器集成。鉴于许可证是按开发人员而非分发许可证,并不算太贵。

<强>更新 EZNamespaceExtension.NET的大问题。它已经很久没有更新了。 LogicNP似乎已经失去了对EZNamespaceExtension.NET的兴趣,因为自2010年以来还没有新版本的新功能。没有.NET 4支持,也没有对Windows 8功能区工具栏的支持

我只是通过以上链接查看 EZNamespaceExtension for .NET 。它似乎与2013版本一致。但不确定是否可以回答在Explorer.exe中显示为驱动器的问题(AFAIK。它不能显示为驱动器号)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top