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

Gibbs2 Messages postés 6 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 juin 2010 - 29 avril 2010 à 17:33
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 - 29 avril 2010 à 18:12
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
29 avril 2010 à 17:54
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
0
Gibbs2 Messages postés 6 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 juin 2010
29 avril 2010 à 17:58
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
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
29 avril 2010 à 18:06
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+
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
29 avril 2010 à 18:12
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+
0
Rejoignez-nous