Hola amigo,
Para llamar o ejecutar aplicaciones externas en Delphi tienes 2 métodos: ShellExecute y CreateProcess.
ShellExecute lo deberías usar cuando no vas a manipular sub-hilos que genere la aplicación externa que vas a ejecutar o cuando no necesitas manipular valores/resultados de aplicaciones de inicio, términto (end threat). Para lo que necesitas yo creo que este será suficiente.
Ejemplo:
Código Delphi
[-]
uses
ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, 'Open', 'C:\Aplicacion.exe', nil, nil, SW_SHOWNORMAL);
end;
Esta función devuelve diversos valores para controlar alguna excepción como archivo no encontrado, no hay memoria para ejecutarlo, etc,
El método CreateProcess es para poder manipular la ejecución de la aplicación externa en cuanto a memoria se refiere, a sus subhilos que genere y en otros valores de ejecución y término, etc. En este caso, debes asignarle un inicio de ejecución de memoria con ZeroMemory antes de implementar CreateProcess en concreto, y darle otras propiedades, Hay un ejemplo en ClubDelphi de este simple procedimiento. Pero, para lo que necesitas, yo creo que con ShellExecute es suficiente.
Pero, por lo que he leído, para los sistemas actuales, debería implementarse CreateProcess como un hábito.
Saludos.