Hola nicktdigo.
No entiendo muy bién que es lo que queres hacer, pero voy a detallarte que hace ShellExecute
y seguramente lo puedas resolver.
ShellExecute(
Manejador,
Operación,
NombreArchivo,
Parámetros,
Carpeta,
Mostrar);
Manejador: Handle de la ventana (Form) que invoca la función.
Operación: Es un puntero a cadena (PChar) que almacena la operación a realizar:
open : Ejecuta o abre el archivo con el ejecutable que esté asociado.
explore : Explora el directorio.
find : Abre el cuadro de diálogo buscar.
edit : Edita el el archivo.
print : Imprime el archivo.
NombreArchivo: PChar que tiene la ruta y el nombre de archivo al que se le aplicará la Operación.
Parámetros : PChar que tiene los parámetros enviados a NombreArchivo.
Carpeta : PChar que tiene la ruta que NombreArchivo tendrá por defecto.
Mostrar : La forma en que se va abrir la aplicación, puede ser: (
SW_HIDE, SW_RESTORE,SW_SHOW,
SW_SHOWNA, SW_SHOWNORMAL, SW_SHOWDEFAULT, SW_MAXIMIZE, SW_MINIMIZE, SW_SHOWMAXIMIZED,
SW_SHOWMINIMIZED, SW_SHOWMINNOACTIVE, SW_SHOWNOACTIVATE)
Ahora un ejemplo de uso con variables:
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
Operac, Nombre, Param, Path: string;
begin
Operac:= 'open';
Nombre:= 'Notepad.exe';
Param := 'C:\WINDOWS\WIN.INI';
Path := 'C:\WINDOWS\'; // (en este caso podés omitir la ruta)
ShellExecute(Handle, PChar(Operac), PChar(Nombre),
PChar(Param), PChar(Path), SW_SHOWMAXIMIZED);
end;
Espero que te ayude.
Saludos.