在某些计算机上使用虚拟化路径的临时目录

Mar*_*rko 10 c# silverlight internet-explorer protected-mode silverlight-oob

在我的Silverlight应用程序中,我使用常规SaveFileDialog来提示用户保存一些文件.

问题是在某些Windows 7计算机上,如果用户在保护模式下使用IE,并尝试保存到例如桌面上,则保存路径最终会像这样:

C:\Users\<user>\Appdata\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\<user>\Desktop
Run Code Online (Sandbox Code Playgroud)

有没有人知道我在哪里可以找到标志或值,表明这条路径将被用来代替Windows上的常规路径?

谢谢

mak*_*kim 6

所以经过一些研究后我恐怕没有标志或值表示虚拟化路径......

我知道这有点俄罗斯但假设这是静态的

\ Microsoft\Windows\Temporary Internet Files\Virtualized \

你可以做这样的事情来检查Path是否指向虚拟化文件夹

public static bool IsPathVirtualized(string path)
{
        bool isVirtualized = false;
        string pathToVirtualizedUserFolder = Path.Combine
        (
            Environment.SpecialFolder.LocalApplicationData + 
            @"Microsoft\Windows\Temporary Internet Files\Virtualized\"
        );

        if(path.StartsWith(pathToVirtualizedUserFolder))
        {
            isVirtualized = true;
        }
        return isVirtualized;
}
Run Code Online (Sandbox Code Playgroud)