StandardOutput accent format console windows [Résolu]

Signaler
Messages postés
112
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
26 janvier 2011
-
Messages postés
355
Date d'inscription
dimanche 9 juillet 2006
Statut
Membre
Dernière intervention
13 octobre 2014
-
bonjour,
j'utilise System.Diagnostics.Process pour lancer des commande dos pour gérer des utilisateur windows.
je redirige la sortie que je lis dans un flux (.StandardOutput).
si je demande la liste des utilisateur (net user);
je récupère bien la liste des utilisateur mais si jamais il y à des accent dans le nom de l'utilisateur, ils apparaissent avec une forme bizarre.

exemple:

            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName="cmd";
            p.StartInfo.Arguments = "/k echo héhé";
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            MessageBox.Show(p.StandardOutput.ReadLine());

donc ma question: comment convertir ce texte dans un format affichable ?

moi, le seul, l'unique, ZinZin [:I]

2 réponses

Messages postés
112
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
26 janvier 2011
2
j'ai trouvé la solution:
    p.StartInfo.StandardOutputEncoding = Encoding.GetEncoding("cp437");
a exécuter avant le p.start() je suppose.

moi, le seul, l'unique, ZinZin [:I]
Messages postés
355
Date d'inscription
dimanche 9 juillet 2006
Statut
Membre
Dernière intervention
13 octobre 2014

Ça date mais ça vaut le coup... Après avoir essayé moult encodages, c'est le seul qui semble fonctionner. Merci !