C# : Lancer un processus avec argument contenant des espaces [Résolu]

Signaler
Messages postés
3
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
31 mars 2009
-
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010
-
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

Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

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
Messages postés
3
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
31 mars 2009
1
Youpi ca fonctionne !
Merci d'avoir repondu aussi vite ^^
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

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""";
Messages postés
3
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
31 mars 2009
1
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
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

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.