Vista开发新特性之你的文件存在哪?
2007-08-20 16:33:52 来源:WEB开发网核心提示: 文件系统虚拟重定向 File System Visualization关于这一点,我们可以从下面的实验中发现其中的缘由:首先使用EditPlus这个工具创建一个文本文件并存放到Program Files目录下:创建一个文本文件你会发现程序不会遇到任何问题,Vista开发新特性之你的文件存在
文件系统虚拟重定向 File System Visualization
关于这一点,我们可以从下面的实验中发现其中的缘由:
首先使用EditPlus这个工具创建一个文本文件并存放到Program Files目录下:
创建一个文本文件
你会发现程序不会遇到任何问题,文件可以正常存储,但是当你使用文件管理器打开Program Files目录的时候,文件却不存在。
文件却不存在
实际的文件其实是被“重新定向”到了当前用户的AppData目录之下:
其实,这是Vista中向下兼容的一项功能:文件系统虚拟重定向 (File System Visualization)。其功能就是针对那些还没有兼容Vista的应用程序,把那些对受保护内容的访问从新定向到用户具备访问权限的位置,也就是UsersUserNameAppDataLocalVirualStore。在这个文件夹中你可以找到象Program Files, Windows这样的目录;因为普通用户默认情况下没有对这些目录的访问权限,所以相应的访问被定向到了这里。
相应的访问被定向
当你的程序添加了UAC manifest的时候,那么同时也就丧失了Vista的这项兼容性保护;这个时候你必须在程序中使用正确的路径,把配置文件,日志文件等等都写入到用户自己的AppData中去。我们可以从下面的记事本演示中看到,由于记事本已经对Vista进行了升级,那么访问program files目录将会返回“没有权限”的错误信息:
更多精彩
赞助商链接