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

Messages postés
3
Date d'inscription
mercredi 5 avril 2006
Dernière intervention
31 mars 2009
- - Dernière réponse : GillouXman
Messages postés
561
Date d'inscription
mardi 4 mars 2008
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.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Dernière intervention
10 juin 2010
3
Merci
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

Merci GillouXman 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de GillouXman
Messages postés
3
Date d'inscription
mercredi 5 avril 2006
Dernière intervention
31 mars 2009
1
Merci
Youpi ca fonctionne !
Merci d'avoir repondu aussi vite ^^
Commenter la réponse de alexsosex
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Dernière intervention
10 juin 2010
0
Merci
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""";
Commenter la réponse de GillouXman
Messages postés
3
Date d'inscription
mercredi 5 avril 2006
Dernière intervention
31 mars 2009
0
Merci
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
Commenter la réponse de alexsosex
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Dernière intervention
10 juin 2010
0
Merci
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.
Commenter la réponse de GillouXman

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.