Command cmd.exe qui "pointe" sur un répertoire à l'ouverture
Bonsoir,
Je suis entrain de voir pour créer une petite interface pour l'interprêteur ffmpeg qui est en ligne de commande. Il en existe pas mal, mais moi j'aimerai faire ma propre interface, histoire d'approfondir ...
Alors voilà, mon problème. J'essaie tant bien que mal à lancer la commande cmd.exe via un ShellExecute, celui devant s'ouvrir de façon à ce que je vois apparaître ceci :
Code:
c:\RepertoireDeMonApplication>
Puis, lancer une commande propre à ffmpeg, donc faire par exemple :
Code:
c:\RepertoireDeMonApplication>ffmpeg -i fichiervideo.flv -f avi fichiervideo.avi
Le soucis, c'est que je ne sais vraiment pas comment faire en sorte de me positionner sur le répertoire de l'application et lancer la commande.
Au passage, j'ai regardé l'aide de cmd.exe et il faudrait utiliser l'option /k pour
lancer une commande ...
Aussi, je vous montre mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Edit1.Text:=OpenDialog1.FileName;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
traitement : string;
begin
traitement := 'ffmpeg -i '+Edit1.Text+' -f avi '+ExtractFilePath(Application.ExeName)+'fichiervideo.avi';
ShellExecute(0,
'open',
'cmd',
PChar('/k cd '+ExtractFilePath(Application.ExeName)),
nil,
SW_SHOWNORMAL
);
end; |
Le truc bizarre :
Le clic sur Button2 directement, j'arrive bien à ouvrir le dossier là où est mon application mais lorsque je fais le button1 puis le 2, ça m'ouvre sur le répertoire FileName du OpenDialogue...
Merci d'avoir pris la peine de lire tout ce post!
J'espère avoir été clair et que vous pourrez m'éclaircir.
Merci