Lancer un .exe avec parametres sur la ligne de commande

Signaler
Messages postés
12
Date d'inscription
jeudi 27 juin 2002
Statut
Membre
Dernière intervention
2 juillet 2002
-
Messages postés
9
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
25 avril 2005
-
Salut a tous. Je cherche a savoir comment lancer un .exe avec des parametres sur la ligne de commande.
Les parametres sont a prendre des txt****.Tex (ils sont sisis par l'utilisateur sur la form ...)

Pour lancer le .exe, j'utilise actuellement :

Shell "C:\WINDOWS\Bureau\OFO.exe"

Les parametres seraient apres le OFO.exe, il y en a ... un certain nombre.

Dois je changer de fonction, ou comment faire sinon??? Merci de vos contributions

6 réponses

Messages postés
12
Date d'inscription
jeudi 27 juin 2002
Statut
Membre
Dernière intervention
2 juillet 2002
2
super sympa, mais pourrais tu me donner un exemple STP ... Merci
2
Messages postés
20
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
26 juillet 2002

tres simple :

Function Command()
Renvoie la partie argument de la ligne de commande

la fonction command() te retoune les paramètre encoyé à l'exe sous forme d'une chaine de caratères .
0
Messages postés
20
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
26 juillet 2002

tu met :

"msgbox command"

dans ton form_load par exemple.
cela affichera tout les paramètres envoyé a ton exe.

ensuite, s'il y a plusieurs paramètres, il faut les découper. (avec la fonction Split() par exemple.)

ex. "monprog.exe txt001.tex txt002.tex txt003.tex"

ca donne un truc du genre :

dim cmdLine() as string, dim tmpArg as variant
cmdLine() = Split(command," ")
for each tmpArg in cmdLine()
msgbox tmpArg
Next

voila.
0
Messages postés
12
Date d'inscription
jeudi 27 juin 2002
Statut
Membre
Dernière intervention
2 juillet 2002
2
C'est tres sympa, mais j'ai peur de m'etre mal exprime ...

je te montre mon bout de code actuel, et tu me dis ce qui vas pas, je crois que c ce qu'il y a de mieux a faire:

Private Sub AppelDesProgrammes()

Dim NbLignes, NbColonnes, TailleSE As Integer

NbLignes = txtNbLignes.Text
NbColonnes = txtNbColonnes.Text
TailleSE = txtTailleSE.Text

Shell ("C:\WINDOWS\Bureau\OFO.exe NbLignes NbColonnes TaillSE "), vbNormalFocus

End Sub

les parametres sont donc les variables locales (integer). La methode ci dessus ne marche pas, elle passe que des 0 en parametres...

Merci encore a toi de tes reponses
0
Messages postés
58
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
19 juillet 2003

olleh

1° :
NbLignes = txtNbLignes.Text
NbColonnes = txtNbColonnes.Text
TailleSE = txtTailleSE.Text

Tu mets des variable type String (texte), dans des varaible definit comme Integer, tu as place ca au debut :
Dim NbLignes, NbColonnes, TailleSE As Integer
C'est pô bien normal ca...
# Soit tu vires le 'dim'.
# Soit tu mets String a la place de Integer

2° ta ligne :
Shell ("C:\WINDOWS\Bureau\OFO.exe NbLignes NbColonnes TaillSE "), vbNormalFocus

tu envoies la ligne de commande suivante :
C:\WINDOWS\Bureau\OFO.exe NbLignes NbColonnes TaillSE

Il faut la modifier pour que ce soit les VALEURS qui soient envoyes, essai de la change par :
Shell ("C:\WINDOWS\Bureau\OFO.exe "+ NbLignes + NbColonnes + TaillSE), vbNormalFocus

Tu peux meme faire directement :
Shell ("C:\WINDOWS\Bureau\OFO.exe "+ txtNbLignes.Text + txtNbColonnes.Text + txtTailleSE.Text), vbNormalFocus

Et supprimer le tout le debut de ta procedure...

Question(s) : Int19h@caramail.com

a+
0
Messages postés
9
Date d'inscription
mardi 8 mars 2005
Statut
Membre
Dernière intervention
25 avril 2005

Muldus
0