Ver Mensaje Individual
  #32  
Antiguo 24-09-2008
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Reputación: 21
rafita Va por buen camino
Hola,
Sólo apostillar que la respuesta que te han dado los compañeros es correcta.

He hecho pruebas con este código y funciona perfectamente:

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  Exe: String;
  Params: String;
begin
  if ListBox1.ItemIndex<0 then ListBox1.ItemIndex:=0;
  Exe := 'C:\Archivos de programa\Adobe\Photoshop CS\PhotoShop.EXE';
  Params := QuotedStr('"'+ListBox1.Items[ListBox1.ItemIndex]+'"');
  ShellExecute(Handle, 'open', PChar(Exe), PChar(Params), nil, SW_SHOW);
end;
Observa la función QuotedStr, añade unas comillas simples al resultado de unir unas ComillasDobles + NombreFichero + ComillasDobles.

Si mi fichero es
C:\Documents and Setting\Rafita\Imagenes retocadas\Foto14.psd,
el parámetro que le pasas a ShellExecute es
'"C:\Documents and Setting\Rafita\Imagenes retocadas\Foto14.psd"'

Creo que el amigo HemSoft se había enterado con el post de Roman, pero por si acaso, añado esto.
Un saludo,
__________________
Rafita.
Responder Con Cita