Windows API将应用程序映射为驱动器

时间:2012-02-06 17:33:10

标签: windows windows-explorer

这可能是一个奇怪的问题,但是有没有允许应用程序像映射驱动器或物理驱动器一样运行的Windows API?例如,当您在Windows资源管理器中导航到“驱动器”时,应用程序将返回看似图像文件列表的内容。然后,当您单击图像文件时,应用程序将从数据库中提供图像。

2 个答案:

答案 0 :(得分:4)

至少有三种方法可以做到这一点:

  1. 编写CIFS服务器,然后您可以使用“Microsoft网络客户端”重定向器连接到它,Windows会完成拦截文件访问并将其发送到您的应用程序的所有艰苦工作。或编写HTTP + WebDAV服务器,并使用Microsoft提供的“Web文件夹”重定向器。但是,WebDAV与CIFS不兼容。

  2. 编写Explorer命名空间扩展。这些文件没有驱动器号,只有使用Shell PIDL进行文件访问的程序才能使用。

  3. 编写文件系统驱动程序。由于这需要内核模式,因此它是一个更困难的开发环境,并且很容易导致计算机崩溃,因此我不建议使用此选项。但是,您可能会发现一些现有的内核驱动程序转发到用户模式进程,例如Linux上的fuse

答案 1 :(得分:1)

您需要创建一个虚拟驱动器。

这不是许多人曾经做过的事情,但基本上是直截了当的 - 见http://www.acc.umu.se/~bosse/