10

In meiner Silverlight-Anwendung verwende ich regulären SaveFileDialog für prompte Benutzer, um eine Datei zu speichern.Temp-Verzeichnis mit virtualisierten Pfad auf einigen Computern

Das Problem ist, dass auf einigen Windows 7-Computer, wenn der Benutzer IE verwenden im geschützten Modus, und versuchen, zum Beispiel auf dem Desktop, den Pfad zum Speichern wie das endet bis zu sparen:

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

Weiß jemand, Wo finde ich ein Flag oder einen Wert, der angibt, dass dieser Pfad anstelle eines normalen Fensters verwendet wird?

Danke

+0

Haben Sie versucht, die Path.GetTempPath-Methode zu verwenden? –

+0

Führen Sie Ihre Anwendung im "Out of Browser" -Modus aus? – Jehof

+0

unter der Annahme, dass der Pfad immer so aussehen wird, wenn IE im Protection-Mode ist, könnten Sie versuchen zu erkennen, ob IE in ProtectionMode über Interop und diese Methode [IEIsProtectedModeProcess] für weitere Informationen http://www.codeproject.com/Artikel/18866/A-Entwickler-s-Survival-Guide-zu-IE-Protected-Modus # whenismon (leider ist dies alles C++) – makim

Antwort

6

So nach ein wenig Forschung fürchte ich kein Flag oder Wert ist, die eine virtualisierte Pfad Gibt ...

Ich weiß, es ist ein wenig russisch aber, dass dies unter der Annahme, statisch ist

\ Microsoft \ Windows \ Temporary Internet Files \ Virtualized \

Sie so etwas zu c tun könnte Wenn der Pfad auf den virtualisierten Ordner zeigt

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; 
} 
+0

danke, ähnlich was ich mache und es funktioniert, aber ich suchte nach einer besseren Lösung, fühle mich nicht wohl mit String vergleichen ... – Marko