Executer une application extérieure



Il y a plusieurs possibilités de lancer une application extérieure. Il y a la méthode la plus simple, qui consiste à utiliser la fonction WinExec, et la méthode compliquée, qui consiste à passer par les API et la fonction ShellExecute.

Voici la méthode simple :

Avec WinExec

procedure TForm1.Button1Click(Sender: TObject);
begin
  WinExec('C:\Chemin\MonExe.exe', SW_SHOWNORMAL);
end;



Il y a aussi la méthode plus compliquée, qui utilise les API. Il faut d'abord inclure l'unité ShellAPI:

Executer une application extérieure

interface

uses
  Windows, ..., ShellAPI;

...

implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(0, nil, 'C:\Chemin\MonExe.exe', nil, nil, SW_SHOWNORMAL);
end;



Le dernier paramètre, SW_SHOWNORMAL, indique à l'application de lancer l'executable avec une taille par défaut. Il existe plusieurs autres paramètres que l'on peut mettre à la place, dont voici une liste :

paramètre



SW_HIDECache la fenêtre et en active une autre.
SW_MAXIMIZEMaximize la fenêtre spécifiée.
SW_MINIMIZEMinimize la fenêtre spécifiée et active la fenêtre de plus haut niveau suivant dans l'axe Z.
SW_RESTOREActive et affiche la fenêtre. Si la fenêtre est minimizée ou maximizée, Windows la restaure à sa taille et position originales. Une application devrait spécifier ce drapeau quand elle restaure une fenêtre minimizée.
SW_SHOWActive la fenêtre et l'affiche dans ses taille et position courantes.
SW_SHOWMAXIMIZEDActive la fenêtre et l'affiche maximizée.
SW_SHOWMINIMIZEDActive la fenêtre et l'affiche minimizée.
SW_SHOWMINNOACTIVEAffiche la fenêtre minimizée. La fenêtre active reste active.
SW_SHOWNAAffiche la fenêtre dans son état courant. La fenêtre active reste active.
SW_SHOWNOACTIVATEAffiche la fenêtre dans ses position et taille les plus récentes. La fenêtre active reste active.
SW_SHOWNORMALActive et affiche la fenêtre. Si la fenêtre est minimizée ou maximizée, Windows la restaure dans ses postion et taille originale. Une application devrait spécifier ce drapeau quand elle affiche une fenêtre pour la première fois.



3 requête(s) SQL executée(s) en 0.001 Secs - Temps total de génération de la page : 0.008 Secs