10

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

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

C:\Users\<user>\Appdata\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\<user>\Desktop

有谁知道我在哪里可以找到指示此路径将在 Windows 上使用而不是常规路径的标志或值?

谢谢

4

1 回答 1

6

因此,经过一番研究,恐怕没有指示虚拟化路径的标志或值...

我知道它有点俄语,但假设这是静态的

\Microsoft\Windows\Temporary Internet Files\Virtualized\

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

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;
}
于 2013-03-06T10:32:00.327 回答