StandardOutput accent format console windows

Résolu
misterzinzin Messages postés 112 Date d'inscription vendredi 27 octobre 2000 Statut Membre Dernière intervention 26 janvier 2011 - 11 juil. 2007 à 16:02
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014 - 17 févr. 2013 à 01:14
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]
A voir également:

2 réponses

misterzinzin Messages postés 112 Date d'inscription vendredi 27 octobre 2000 Statut Membre Dernière intervention 26 janvier 2011 2
12 juil. 2007 à 11:41
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]
2
kelsett Messages postés 353 Date d'inscription dimanche 9 juillet 2006 Statut Membre Dernière intervention 13 octobre 2014
17 févr. 2013 à 01:14
Ça date mais ça vaut le coup... Après avoir essayé moult encodages, c'est le seul qui semble fonctionner. Merci !
0
Rejoignez-nous