10

Dans mon application Silverlight, j'utilise régulièrement SaveFileDialog pour que l'utilisateur puisse enregistrer un fichier.Répertoire temporaire utilisant un chemin virtualisé sur certains ordinateurs

Le problème est que sur certains ordinateurs Windows 7, si l'on utilise l'utilisateur IE en mode protégé, et essayer de sauver à, par exemple sur le bureau, chemin d'enregistrement se termine comme ceci:

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

Quelqu'un sait-il où je peux trouver le drapeau ou la valeur indiquant que ce chemin sera employé au lieu de régulier sur Windows?

Merci

+0

Avez-vous essayé d'utiliser la méthode Path.GetTempPath? –

+0

Exécutez-vous votre application dans "Out of Browser" -Mode? – Jehof

+0

en supposant que le chemin ressemblera toujours à ceci quand IE est en mode Protection, vous pouvez essayer de détecter si IE est en ProtectionMode via Interop et cette méthode [IEIsProtectedModeProcess] pour plus d'informations consultez ce lien http://www.codeproject.com/Articles/18866/A-Developer-s-Survival-Guide-à-IE-Protected-Mode # whenispmon (malheureusement c'est tout C++) – makim

Répondre

6

Ainsi, après un peu de recherche je suis peur qu'il n'y ait pas de drapeau ou valeur qui indique un chemin virtualisé ...

Je sais c'est un peu russe, mais en supposant que cette est statique

\ Microsoft \ Windows \ Temporary Internet Files \ virtualisé \

Vous pourriez faire quelque chose comme ça à c si le chemin pointe vers le dossier virtualisé

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

merci, similaire chose que je fais et cela fonctionne mais je cherchais une meilleure solution, ne vous sentez pas à l'aise avec la chaîne comparer ... – Marko

Questions connexes