Lancer un .exe avec un paramètre contenant des espaces

Signaler
Messages postés
6
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 juin 2010
-
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
-
Salut à tous

voila j'ai fait le code suivant pour récupérer le chemin du fichier que l'on sélectionne à l'aide d'une boite de dialogue
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If OpenFileDialog1.ShowDialog = DialogResult.OK Then
            Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName)
            sr.Close()
        End If
        If OpenFileDialog2.ShowDialog = DialogResult.OK Then
            Dim sr As New System.IO.StreamReader(OpenFileDialog2.FileName)
            sr.Close()
        End If
        Dim F1 As String = String.Empty
        F1 = OpenFileDialog1.FileName
        Dim F2 As String = String.Empty
        F2 = OpenFileDialog2.FileName
        Process.Start(F1, F2)

    End Sub

Le logiciel sélectionné à l'aide de la première boite de dialogue s'exécute bien mais le paramètre (ici le fichier) ne se met pas s'il y a des espaces dans le chemin menant à lui

Quelqu'un peut il m'aider?

Merci d'avance

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
115
Salut,

il te faut encadrer les chemins d'accès par des guillemets.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
6
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 juin 2010

Ok merci de la réponse mais le problème c'est que si je fait ça ça me dit impossible d'ouvrir F2 alors
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

d'apres le MSDN, process.start équivaux la boite exécuter du menu démarrer. Effective dans ce cas les espace pose probleme.

peut être quelque chose comme ça :

Process.Start(F1, "F2")

ou ça:

Dim F2 As String = String.Empty
F2 = """ & OpenFileDialog2.FileName & """
Process.Start(F1, F2)

mais bon je n'y connait pas grand chose en vb.net ou vb2005

A+
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
j'aurais p'tete du me relire moi

donc en français:

d'après le MSDN, process.start équivaux à la boite exécuter du menu démarrer. Effectivement dans ce cas les espaces posent problèmes.

peut être quelque chose comme ça :

Process.Start(F1, "F2")

ou ça:

Dim F2 As String = String.Empty
F2 = """ & OpenFileDialog2.FileName & """
Process.Start(F1, F2)

mais bon je n'y connaît pas grand chose en vb.net ou vb2005

A+