C# : Lancer un processus avec argument contenant des espaces

Résolu
alexsosex Messages postés 3 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 31 mars 2009 - 31 mars 2009 à 11:16
GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010 - 31 mars 2009 à 21:20
Bonjour,

Je souhaite lancer un programme (exe) avec arguments à partir de mon programme C#.
J'y suis arrivé, voici mon code

private void LaunchVLC(string arg)
        {
            ProcessStartInfo processInfo = new ProcessStartInfo(@"C:\Program Files\VideoLAN\VLC\vlc.exe",arg);
            Process myProcess = Process.Start(processInfo);
            myProcess.Close();
        }

Le problème, c'est que lorsque la chaine arg (Le chemin du fichier à lire avec VLC) contient des espaces, la fonction croit qu'il y a deux arguments.

Je ne sais pas comment faire, merci de m'aider.

5 réponses

GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010
31 mars 2009 à 19:28
voici ce que j'ai essayé chez moi

        private void Form1_Load(object sender, EventArgs e)
        {
            LaunchVLC(@"""D:\Movies\Avec Espace\monfilm.avi""");

        }

        private void LaunchVLC(string arg)
        {
            ProcessStartInfo processInfo = new ProcessStartInfo(@"C:\Documents and Settings\GillouX\Bureau\vlc-0.9.8a-win32\vlc-0.9.8a\vlc.exe", arg);
            Process myProcess = Process.Start(processInfo);
            myProcess.Close();
        }

et cela fonctionne parfaitement
3
alexsosex Messages postés 3 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 31 mars 2009 1
31 mars 2009 à 20:57
Youpi ca fonctionne !
Merci d'avoir repondu aussi vite ^^
1
GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010
31 mars 2009 à 11:54
je ne sais pas à quoi ressemble ton args

mais si tu duobles les quotes, ca devrait aller,

ton arg devrait ressemler à cela

@"""C:\Documents and Settings\myfile.txt""";
0
alexsosex Messages postés 3 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 31 mars 2009 1
31 mars 2009 à 19:15
Desolé ca ne fonctonne pas
Jai testé avdc des simple quote aussi mai sans succes

Sinon , l argument que je passe est un chemin de fichier
Genre D:/videos/films/mon film.avi
Si il n y a pas d'espaces aucun probleme
Si il y en a vlc croit quil y a deux arguments
D:/videos/films/mon et film.avi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010
31 mars 2009 à 21:20
Ravi d'avoir pu t'aider.

N'oubliez pas de marquer la réponse si cela vous a aidé.

C'est important pour les gens qui cherchent dans les posts pour avoir un accès direct à la solution.
De plus cela marque ton post comme résolu.
0
Rejoignez-nous