Google
[IT] Delphi - Eseguire/aprire con la shell di sistma

Delphi - Eseguire/aprire con la shell di sistma


Capita a volte di dover lanciare un eseguibile o di dover aprire un documento particolare dall'interno di un'applicazione Delphi. Si puo' usare direttamente la shell di sistema, in modo da usare le impostazioni predefinite del sistema operativo Win.
E' utile specialmente se non interessa avere il controllo del nuovo processo.
 
program Test;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Shellapi,
  Windows;

var
  programname: String;
  programpath: String;

  path: String;  

begin

  path := 'c:\windows\sol.exe';
  programpath := ExtractFileDir(path);
  programname := ExtractFileName(path);
  Shellexecute(0,'open',Pchar(programname),'',Pchar(programpath),SW_SHOWNORMAL);

end.
Oltre a SW_SHOWNORMAL, si possono usare anche le seguenti costanti (windows.pas):
  SW_HIDE = 0;
  SW_SHOWNORMAL = 1;
  SW_NORMAL = 1;
  SW_SHOWMINIMIZED = 2;
  SW_SHOWMAXIMIZED = 3;
  SW_MAXIMIZE = 3;
  SW_SHOWNOACTIVATE = 4;
  SW_SHOW = 5;
  SW_MINIMIZE = 6;
  SW_SHOWMINNOACTIVE = 7;
  SW_SHOWNA = 8;
  SW_RESTORE = 9;
  SW_SHOWDEFAULT = 10;
  SW_MAX = 10;
Home Giansante Gabriele (c) 1999-2006