仿效.NET硬盘(Emulate hard disk in .NET)

2019-07-04 21:05发布

有没有一种方法来模拟在.NET中的磁盘驱动器,拦截读/写/锁操作?
我想创建一个前端类似的东西GMail的驱动器在C#。

谢谢,汤姆

Answer 1:

我用的是Eldos 回调文件系统自己为了这个目的,不过虽然它的好,这是不便宜。

有一些免费/便宜的项目,以及,我敢肯定,他们中的一个在类似的问题上提到最近SO - 不能在此刻再找到它,但。 稳定性往往是一个大问题,但是,作为分层的Windows文件系统驱动程序是不平凡的。



Answer 2:

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



Answer 3:

你可以看到如何http://www.truecrypt.org/是做什么的。 它做的正是要么通过使用文件或通过使用一个驱动器或分区。 然后在挂载文件就好像它是一个真正的驱动器。 现在,可能是源代码是一个有点复杂;)



Answer 4:

不是真的,净坐在像磁盘访问OS功能之上,给你的东西一样管理的文件accessors.You可以写这一切在托管C#,但你需要未管理调用,使OS将其视为另一个驱动器。

所有的外壳扩展的东西是COM: http://msdn.microsoft.com/en-us/library/cc147467(VS.85).aspx

你可以,但是,写,允许从资源管理器拖放和看起来像一个文件系统视图。净桌面应用程序。



Answer 5:

您也可以使用EZNamespaceExtension为.NET 。 这给你的集成与Windows资源管理器。 不是太昂贵鉴于该许可是按开发者,而不是分布。

更新大问题EZNamespaceExtension.NET。 它一直没有更新了很长的时间。 LogicNP似乎已经失去了他们的EZNamespaceExtension.NET兴趣,因为还没有自2010年以来没有.NET 4的支持与功能的新寥寥版本和Windows 8的带状条工具栏不支持



Answer 6:

我刚刚签EZNamespaceExtension为.NET与上面的链接。 这似乎是他们跟上最新的发布版本2013。 但不知道这能回答的显示为Explorer.exe中驱动器的问题(据我所知,它不能显示为盘符)



文章来源: Emulate hard disk in .NET