bonjour,
je voudrais passer un argument en ligne de commande. Par exemple:
et recuperer mon argument dans mon code. C'est la fonction ShellExecute c'est ca?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 monfichier arg1
bonjour,
je voudrais passer un argument en ligne de commande. Par exemple:
et recuperer mon argument dans mon code. C'est la fonction ShellExecute c'est ca?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 monfichier arg1
Cela a déjà fait l'objet d'une discussion :
http://www.developpez.net/forums/sho...d.php?t=322712
alors je change ma question: Comment utiliser ShellExecute, et quel interet?
Ce appel le programme nommé par la string ExeName (monfichier) avec les paramètres dans Params (arg1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part ShellExecute(0, 'open', PChar(ExeName), PChar(Params), PChar(ExtractFileDir(Application.ExeName)), SW_HIDE);
Ensuite, ExeName correspond à ParamStr(0) ou à Application.ExeName, et arg1 est dans ParamStr(1);
Sinon, à part Shell_execute, tu as CreateProcess voir ICI
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
On peut l'utiliser par exemple pour lancer depuis une appli-Delphi n'importe quel autre exe présent sur le disque :
... ou encore pour ouvrir un site Internet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Handle,'open',PChar('c:\autreAppli.exe'),nil,nil,SW_SHOW); end;
... pour plus de détails voir l'Aide intégrée à Delphi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.Label7Click(Sender: TObject); begin shellexecute( 0,'open','http://dev-zone.com/faq/delphi/fqdph_index.php', nil, nil, SW_SHOWMAXIMIZED); end;
P.S : tiens ShaiLeTroll m'a pris de vitesse : bonjour.
ShaiLeTroll, je la place ou dans mon code mon ShellExecute?
Tout dépend ce que tu veux faire
App1 lance App2...
tu es l'auteur de App1, ben pour le ShellExecute, à toi de le mettre ou ta fonctionnalité l'exige, dans un bouton, un timer, à l'ouverture, à la fermeture ...
tu es l'auteur de App2, ben c'est pas ton problème, seul ParamStr/ParamCount te servira ...
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !![]()
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Partager