PDA

Ver la Versión Completa : Problema con shellexecute


ebeltete
20-10-2006, 19:18:35
Hola amigos tengo un problema con shellexecute, y es el siguiente:
cuando quiero abrir un archiuvo con determinada aplicacion me funciona solo si el nombre del archivo no tiene espacios en el nombre, ej.:

este funciona:
ShellExecute(form1.handle,nil,pchar('C:\windows\aplicacion.EXE'),pChar('o:\carpeta\archivo1.doc'),'' ,1);

este NO funciona:
ShellExecute(form1.handle,nil,pchar('C:\windows\aplicacion.EXE'),pChar('o:\carpeta\archivo 1.doc'),'',1);

Gracias.

seoane
20-10-2006, 19:21:05
Prueba de esta manera:

ShellExecute(form1.handle,nil,pchar('C:\windows\aplicacion.EXE'),pChar('"o:\carpeta\archivo 1.doc"'),'',1);

ebeltete
20-10-2006, 23:35:50
Gracias seoane, de esa manera funciona perfectamente, sabes a que se debe?
Saludos

seoane
20-10-2006, 23:45:39
sabes a que se debe?


Claro, recuerda que los parámetros en la linea de comandos se separan por un espacio, si el nombre del archivo contiene un espacio la aplicación recibirá dos parámetros separados en vez de uno. Con las dobles comillas le estamos indicando que debe tomar todo como un solo parámetro y no como dos.

ebeltete
21-10-2006, 00:23:12
Correcto, gracias.