Traduire les SpecialFolder dans la langue de l'utilisateur [WinForrm] - C#/.NET managed - Programmation
Marsh Posté le 22-08-2006 à 12:31:38
Salut,
Code :
|
Me donne bien "C:\Documents and Settings\Administrateur\Menu Démarrer\Programmes\Démarrage" sur un windows francais
Marsh Posté le 22-08-2006 à 19:14:06
Ok, je vais mieux traduire ma pensée
Sur mon XP français : Environment.SpecialFolder.Personal correspond à "MesDocuments"
Sur mon XP anglais : le même c'est "MyDocuments"
C'est pas le chemin, c'est le nom de ce répertoire qui m'intéresse
Bon.. suite à un rapide test, je viens de voir que ce n'était pas un nom en dur, mais une donnée modifiable. (C'est con, mais j'avais jamais eu l'idée de renommer "Mes Documents" )
Bref.. dans la base de registre, je trouve cette valeur dans la clef : HKLU / Software / Microsoft / Windows / CurrentVersion / Explorer / CLSID / {450D8FBA-AD25-11D0-98A8-0800361B1103}
Bon... question :
* Comment peut-on retrouver le nom de "Mes documents" dans la base de registre ? J'imagine que le Guid qui sert de clef chez moi c'est pas une valeur hardcodée....
Marsh Posté le 22-08-2006 à 20:16:01
_Mose_ a écrit : Ok, je vais mieux traduire ma pensée |
Eh alors le nom du repertoire n'est il pas inclus DANS le chemin?
Marsh Posté le 22-08-2006 à 20:48:50
Ah non.
Renomme ton "Mes Documents" en "Mes chaussettes", mais tes documents vont sagement rester dans leur répertoire...
Ensuite, même si on cherche le nom "Mes Documents" par défaut, si l'utilisateur a fait bouton droit / Propriété et que dans l'onglet cible il ait mis un autre répertoire, bah ça marche plus. Ex chez moi : D:\Docs\Mose
Merci quand même...
Y'a pas un spécialiste de la base de registre svp ?
Marsh Posté le 22-08-2006 à 21:57:19
si tu sais ou la trouver, utiliser les classes pour accéder au registre alors.
Marsh Posté le 23-08-2006 à 18:34:17
Sérieux... je m'exprime mal ou vous le faites exprès ?
Dans la base de registre, cette valeur se trouve dans :
HKEYS_CURRENT_USERS / Software / Microsoft / Windows / CurrentVersion / Explorer / CLSID / {450D8FBA-AD25-11D0-98A8-0800361B1103}
Mais elle ne s'y trouve QUE si on a édité le nom. Sinon on l'a dans le baba.
Ensuite ça fini par un Guid... super...
Mais je ne pense pas que chez tout le monde et sur tous les Windows il y ait le même Guid.
J'ai le même sur un autre XP, mais basé sur le même CD d'install.
Bref.. y'a pas une API pour trouver ça facile ? Même en Win32, ça m'est égal.
Marsh Posté le 23-08-2006 à 19:08:55
quote:
Mais je ne pense pas que chez tout le monde et sur tous les Windows il y ait le même Guid.
Si, car c'est un repertoire special!
Ensuite si on veut deplacer un specialfolder on ne renomme pas le dossier via l'exploreur mais il faut modifier la variable (via tweakui par exemple)indiquant son emplacement et c'est tout (bien sur il faut aussi copier manuellement les fichiers de l'ancien repertoire vers le nouveau).
Marsh Posté le 23-08-2006 à 19:48:26
breizhbugs a écrit : >>Mais je ne pense pas que chez tout le monde et sur tous les Windows il y ait le même Guid. |
Oki, bah écoute, je vais commencer comme ça et on verra bien
breizhbugs a écrit : Ensuite si on veut deplacer un specialfolder on ne renomme pas le dossier via l'exploreur mais il faut modifier la variable (via tweakui par exemple)indiquant son emplacement et c'est tout (bien sur il faut aussi copier manuellement les fichiers de l'ancien repertoire vers le nouveau). |
Ah non non non... pas du tout. Fait bouton droit sur "Mes Documents", puis "Propriété"... tu vas voir...
Marsh Posté le 23-08-2006 à 19:56:48
Citation : |
Bien sur q'on peut le renommer comme n'importe quel autre repertoire...
Mais ce qui fait que le repertoire "Mes documents" est le repertoire "Mes documents" c'est parce qu'il a été designer comme tel a windows via une variable. Si tu change le nom du dossier sans changer ta variable, windows recreera un dossier "Mes documents" a la place de l'ancien. Si tu change la variable, Windows utilisera le dossier indiqué que tu y ais copié tes anciens fichiers dedans ou non!
Donc, que tu recuperes ce nom de dossier via le registre ou via environment.jesaisplusquoi, si tu as correctement modifier ta variable, tu obtiens le meme resultat.
Marsh Posté le 23-08-2006 à 20:18:23
Non non, tu te plantes.
Essayes le click droit sur le "Mes Documents" qui se trouve sur ton bureau + propriété. Y'a un onglet spécial pour ce répertoire spécial.
Il fait tout : il modifie le SpecialFolder et déplace tout tes documents. C'est magique
J'affirme. Je le fais systématiquement à chaque fois que j'installe Windows (et c'est souvent).
Le spécialFolder, chez moi, il indique "D:\docs\Mose". Et j'ai pas modifié de variable ou utlisé tweakui.... juste un click droit dans Windows.
Marsh Posté le 23-08-2006 à 20:51:25
Ah bon, ca doit etre sous XP alors? moi j'ai pas d'icone "mes documents" sous w2k!
Marsh Posté le 24-08-2006 à 12:31:21
ReplyMarsh Posté le 24-08-2006 à 21:44:08
moi23372 a écrit : qui a encore W2K ... |
Ben tout ceux qui veulent un environement stable et sans fioriture...
Marsh Posté le 25-08-2006 à 13:34:12
breizhbugs a écrit : Ah bon, ca doit etre sous XP alors? moi j'ai pas d'icone "mes documents" sous w2k! |
Bouton droit sur le bureau / Propriété /Onglet "Bureau" / bouton en bas "Personnaliser le bureau...", y'a juste une case à cocher.
C'est quand même bien fait
Marsh Posté le 26-08-2006 à 14:50:37
Salut,
J'ai pas d'"onglet bureau"!
Tu avances avec ta base des registres?
Marsh Posté le 28-08-2006 à 10:49:52
Mouaip, bah 2000 c pas la fête
Pour la base de registre : je garde la solution sous la main dès que je ferais l'implémentation finale.
En attendant c'est "Mes Documents" codé en dur...
Marsh Posté le 22-08-2006 à 11:45:10
Salut à vous,
je code un petit explorateur de fichier et j'ajoute dedans quelque-uns des "Special Folder" (Environment.SpecialFolder)
J'ai juste soucis : comment traduire leur nom dans la langue de l'utilisateur ?
Je précise que je cherche la traduction de Windows, et pas un bête tableau hardcodé, ça je sais faire, mais je n'ai pas envie de me taper toutes les langues possibles pour refaire un truc qui existe forcément déjà.
Mose, explorateur de windows