应用程序可以伪装成文件或文件夹吗?

Jam*_*mes 1 c++ vb.net windows filesystems file

我一直在研究集中我的计算机游戏保存,以便更容易备份和恢复,以及通过Dropbox将它们放到云上,但是这样可能会让它变得非常困难.我注意到Windows 7和Vista现在支持符号链接,所以我一直在玩这个,但我想知道如下:

应用程序(vb.net或C++)欺骗文件或文件夹是否可能(代码示例或正确方向上的一点)?

例如,应用程序A(像暗黑破坏神III或文明V这样的游戏)试图从文件A(游戏保存)读取或右转,应用程序B(保存库)检测到此读取/写入请求并通过自身管理请求以执行请求文件B(实际游戏保存在另一个位置).应用程序A绝不会更改并正常处理文件.

注意:我意识到有许多简单的方法可以预先形成相同的任务,例如监视应用程序A的使用或定期检查文件A并复制它,如果它自上次检查后已被更改等,但所有这些方法都有缺点和对可行的工作不太感兴趣.

小智 7

完全可以通过文件系统过滤器驱动程序完成此操作.有关这些的信息,请看这里:

http://msdn.microsoft.com/en-us/windows/hardware/gg462968

如果需要,过滤器驱动程序可以挂钩到CreateFile操作并将创建重定向到其他位置,但与普通应用程序相比,它们更难编写.它们以内核模式运行,必须遵守驱动程序的限制.