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

alexsosex 3 Messages postés mercredi 5 avril 2006Date d'inscription 31 mars 2009 Dernière intervention - 31 mars 2009 à 11:16 - Dernière réponse : GillouXman 561 Messages postés mardi 4 mars 2008Date d'inscription 10 juin 2010 Dernière intervention
- 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 

5 réponses

Répondre au sujet
GillouXman 561 Messages postés mardi 4 mars 2008Date d'inscription 10 juin 2010 Dernière intervention - 31 mars 2009 à 19:28
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de GillouXman
alexsosex 3 Messages postés mercredi 5 avril 2006Date d'inscription 31 mars 2009 Dernière intervention - 31 mars 2009 à 20:57
+1
Utile
Youpi ca fonctionne !
Merci d'avoir repondu aussi vite ^^
Commenter la réponse de alexsosex
GillouXman 561 Messages postés mardi 4 mars 2008Date d'inscription 10 juin 2010 Dernière intervention - 31 mars 2009 à 11:54
0
Utile
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
alexsosex 3 Messages postés mercredi 5 avril 2006Date d'inscription 31 mars 2009 Dernière intervention - 31 mars 2009 à 19:15
0
Utile
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
GillouXman 561 Messages postés mardi 4 mars 2008Date d'inscription 10 juin 2010 Dernière intervention - 31 mars 2009 à 21:20
0
Utile
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.