Bonjour pour lancer des commandes DOS dans Delphi j'utilise la fonction suivante qui marche très bien :
Mais seulement cette fonction affiche une fenêtre DOS que je souhaiterais cacher, une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 function LanceAppliAttenteFin(NomFichier:string):boolean; {permet de lancer un exécutable. NomFichier est le nom avec chemin } {de cet exécutable ou d'un raccourci qui pointe vers cet exécutable. } { notre programme est arrété tant que l'exécutable n'est pas fini } {tout est arrété on ne peut donc même plus déplacer sa fenêtre. } { il est donc préférable de la rendre invisible avant le lancement } {de cette fonction. } { LanceAppliAttenteFin renvoie true si le lancement s'est bien passé } var StartInfo : TStartupInfo; ProcessInformation : TProcessInformation; begin result:=true; ZeroMemory(@StartInfo, sizeof(StartInfo)); // remplie de 0 StartInfo StartInfo.cb:=sizeof(StartInfo); if CreateProcess(nil,PChar(NomFichier),nil,nil,true,0,nil,nil,StartInfo,ProcessInformation) then WaitForSingleObject(ProcessInformation.hProcess, INFINITE)// attend que l'application désignée par le handle ProcessInformation.hProcess soit terminée else result:=false; end;
Merci
Bien cordialement
Partager