如何在任何区域设置中获取Windows虚拟商店路径?对于英语,我们可以将其硬编码为%LocalAppData%\VirtualStore
,但据我所知,“VirtualStore”是一个本地化的字符串,在不同的语言中有所不同。是否有任何方式我可以获得虚拟商店的本地化路径?
答案 0 :(得分:0)
没有记录的方法来检索VirtualStore
文件夹的路径。
UAC数据重定向功能是临时兼容性黑客攻击;仅用于使错误的应用程序不崩溃。微软表示你不应该依赖它。 Windows 2000或更高版本的任何应用程序都不需要VirtualStore。
幸运的是,您的应用程序甚至不需要关注关于虚拟商店文件夹的路径。
您可以通过向应用程序的程序集清单中添加 asExvoker 的 requestedExecutionLevel 来完全关闭数据重定向(以便不会进入VirtualStore):
<强> AssemblyManifest.xml 强>:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
或者您可以继续从不应该的位置读取和写入文件。数据重定向将透明地让您查看VirtualStore文件夹中的文件。
最佳解决方案是禁用文件虚拟化并修复您的应用。
微软并没有倾向于为临时黑客添加功能,让有缺陷的应用程序瘫痪。因此,没有记录的路径。