Delphi - ShellExecute con parametros

 
Vista:

ShellExecute con parametros

Publicado por Irreal (69 intervenciones) el 28/06/2006 15:19:28
Estimados amigos:

Necesito abriri un documentos de Word. Entiendo que hay que hacerlo con ShellExecute pero aunque me abre bien en Word el documentos al contener espacios, parte la ruta intentando abrir varios documentos.

Yo tengo el Word en : d:\Archivos de programa\Microsoft Office\Office\WINWORD.EXE
y quiero abrir : C:\Mis Documentos\Documento Word.doc

Desde el comando ejecutar de windows se abriría con la siguioente instrucción:

"d:\Archivos de programa\Microsoft Office\Office\WINWORD.EXE" "C:\Mis Documentos\Documento Word.doc"

Pero aunque he conseguido intercalar las comillas en delphi :

ShellExecute(Application.Handle, 'open',
FileName :='d:\Archivos de programa\Microsoft Office\Office\WINWORD.EXE',
StrPCopy(F, FileName);
P := ' ' + '''' +'C:\Mis Documentos\C:\Mis Documentos\Documento Word.doc'+ '''';
StrPCopy(P, Params);

ShellExecute(Application.Handle, 'open', F, P, nil, SW_NORMAL);

Me abre el Word y tres documentos ':\Mis ,Documentos\Documento y Word.doc. Este úiltimo además lo intenta abrir en el directorio de la aplicación.

Tampoco me vale abrir el fichero y que el Api de Windows me abra el programa porque puede darse la cisrcustancia de querer abrir el documentos con otro programa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ShellExecute con parametros

Publicado por Edgar Rodriguez (172 intervenciones) el 01/07/2006 06:47:21
Usa StrCat en vez de StrCopy cuando concatenes textos PChar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar