Salut à tous!
J'ai une application personnelle qui demande à l'utilisateur de parcourir une image et l'application crée un fichier HTML affichant cette image.
Sur XP, je n'ai aucun problème de création et de lecture (C:\projet\temp.html). Par contre, on sait qu'avec la sécurité sur Vista/7, il n'est pas possible. Il faut donc créer dans le répertoire de l'utilisateur courant; dans ce cas, ça serait C:\Users\nom_utilisateur\AppData\Local\Temp\projet\temp.html.
Évidemment, l'application doit pouvoir fonctionner sous n'importe quel utilisateur, alors j'ai remplacé C:\Users\nom_utilisateur par la variable d'environnement %USERPROFILE%. Le problème est que, avec %USERPROFILE%, la création/lecture ne se fait pas. Par contre, si je remplace %USERPROFILE% par C:\Users\nom_utilisateur, ça fonctionne bien!
Voici le code pour la création si l'environnement est XP:
Pour Vista/7:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 File tempFile = new File("\\projet\\temp.html"); FileWriter fw = new FileWriter(tempFile);
Pour la lecture dans le navigateur web par défaut (XP):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 File tempFile = new File("%USERPROFILE%\\AppData\\Local\\Temp\\projet\\temp.html"); FileWriter fw = new FileWriter(tempFile);
Vista/7:
Code : Sélectionner tout - Visualiser dans une fenêtre à part launcher.openURLinBrowser("file:c:\\projet\\temp.html");
Je fais un if/else sur une variable booléenne pour savoir si l'utilisateur est sous XP, tout simplement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part launcher.openURLinBrowser("file:%USERPROFILE%\\AppData\\Local\\Temp\\projet\\temp.html");
Je résume: sous XP, ça fonctionne, mais pas sous Win7. Des incides?
Partager