2012-02-06 97 views
5

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

在此先感谢。 问候, Duane。

回答

1

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

这不是很多人都曾经有做一些事情,但本质上是简单的 - 见http://www.acc.umu.se/~bosse/

3

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

  1. 写CIFS服务器,那么你就可以使用“Microsoft网络客户端”重定向器连接到它,Windows会尽全力拦截文件访问并将它们发送到您的应用程序。或者编写一个HTTP + WebDAV服务器,并使用Microsoft提供的“Web Folders”重定向器。但是,WebDAV不像CIFS那样兼容所有应用程序。

  2. 编写一个资源管理器命名空间扩展。这些文件不会有驱动器号,只能由使用Shell PIDL进行文件访问的程序使用。

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

+0

谢谢。我会研究所有三个。 :) – Dib 2012-03-05 17:18:39