Lancer un .exe avec parametres sur la ligne de commande

cs_champi Messages postés 12 Date d'inscription jeudi 27 juin 2002 Statut Membre Dernière intervention 2 juillet 2002 - 27 juin 2002 à 22:32
muldus Messages postés 9 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 25 avril 2005 - 11 mars 2005 à 10:13
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

cs_champi Messages postés 12 Date d'inscription jeudi 27 juin 2002 Statut Membre Dernière intervention 2 juillet 2002 2
28 juin 2002 à 12:33
super sympa, mais pourrais tu me donner un exemple STP ... Merci
2
olidbc Messages postés 20 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 26 juillet 2002
28 juin 2002 à 04:53
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
olidbc Messages postés 20 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 26 juillet 2002
28 juin 2002 à 13:46
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
cs_champi Messages postés 12 Date d'inscription jeudi 27 juin 2002 Statut Membre Dernière intervention 2 juillet 2002 2
28 juin 2002 à 14:03
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Int19h Messages postés 58 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 19 juillet 2003
28 juin 2002 à 19:32
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
muldus Messages postés 9 Date d'inscription mardi 8 mars 2005 Statut Membre Dernière intervention 25 avril 2005
11 mars 2005 à 10:13
Muldus
0
Rejoignez-nous