Visual Basic - Ejecución de un fichero de forma síncrona

Life is soft - evento anual de software empresarial
 
Vista:

Ejecución de un fichero de forma síncrona

Publicado por Public (10 intervenciones) el 17/04/2006 16:15:16
Estoy haciendo una aplicación en la que guardo ficheros
externos dentro de una base de datos para que los puedan ver en otro momento.

Lo que quiero hacer es que cuando hagan doble click en una grid, se abra
el fichero (da igual que sea word, excel, una imagen, o un mp3) y se quede
en ejecución hasta que se cierre, para volver a guardarlo de nuevo en la
base de datos una vez modificado.

He estado buscando y he visto que una página una función para hacer
esto. Pero no me funciona a la hora de abrir el fichero. La he probado al
abrir un programa en concreto y funciona perfectamente. Yo uso Windows XP
Profesional y VB6 con service pack 6.

El error que me da es el siguiente:

Error '53' en tiempo de ejecución:
No se ha encontrado el archivo.

El archivo que quiero abrir existe y está donde debe. También he probado
a abrir el archivo directamente desde la ventana de consola poniendo como
dices "start /w <nombre de archivo> y lo abre perfectamente. por ejemplo:

Si escribo esto en una ventana MS-DOS funciona.
start /w C:\DOCUME~1\Israel\CONFIG~1\Temp\D7.rtf

en cambio esto otro, solo me abre otra ventana de MS-DOS
start /w "C:\DOCUME~1\Israel\CONFIG~1\Temp\D7.rtf"

el error lo da en la siguiente línea:

hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Shell(CmdLine, vbMaximizedFocus))

y el valor de cmdLine es:
start /w C:\DOCUME~1\Israel\CONFIG~1\Temp\D7.rtf

Esto me pasa mandando tanto mandando esta instucción
ExecCmdNoFocus ("start /w " + Chr$(34) + DirectorioTemp & mbojfichero.Fichero
+ Chr$(34))
como esta otra.
ExecCmdNoFocus ("start /w " & DirectorioTemp & mbojfichero.Fichero)

He probado a abrir por ejemplo el block de notas y lo hace perfectamente.

Muchas gracias a todos de antemano

Un saludo.
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