PDA

Ver la Versión Completa : Abrir una aplicación Windows


tbolzan
12-12-2012, 14:36:41
Hola, quiero abrir el visor de imagenes de windows con una imagen dada como parámetro, trabajo con windows xp y delphi7.

Busque aquí en el foro y en internet y encontré dos sentencias, una con winexec y otra con shellexecute, segun los parametros que estuve viendo escribí las sentencias por separado, de la siguiente manera



WinExec(PChar('C:\Archivos de programa\Internet Explorer\iexplore.exe,ImageView_Fullscreen d:\IMG_0418'),SW_SHOWNORMAL);


ShellExecute(0, 'open', 'c:\Windows\System32\rundll32.exe', 'C:\WINDOWS\system32\shimgvw.dll, ImageView_Fullscreen d:\IMG_0418', nil, SW_NORMAL)

Agregue user ShellAPI.

Pero al ejecutarlo no hace nada de nada, también probé con colocar en ves del visor de windows, el Intener Explorer para que me visualice la imagen pero tampoco hace nada de nada.

Bueno, desde ya muchas gracias por su atención y espero alguna respuesta.

Saludos

Carola

movorack
12-12-2012, 15:31:36
Hola,

la verdad yo usé el mismo código y me funcionó sin problemas.


ShellExecute(Handle,'open',
PChar('rundll32.exe'),
PChar('C:\Windows\system32\shimgvw.dll,ImageView_Fullscreen C:\Users\Win7User\Pictures\Test.gif'),
nil, SW_SHOWNORMAL);


Primero hice un acceso directo en el escritorio para probar. Al crearlo le pase como parámetros:


rundll32.exe C:\Windows\system32\shimgvw.dll,ImageView_Fullscreen C:\Users\Win7User\Pictures\Test.gif


y funcionó correctamente.

Talvez lo que suceda es que tienes problemas con las rutas.

En el foro de embarcadero (https://forums.embarcadero.com/message.jspa?messageID=443226) tratan el tema de las rutas y en la documentación de microsoft puedes encontrar los valores a las constantes CSIDL. (http://msdn.microsoft.com/es-es/library/windows/desktop/bb762494(v=vs.85).aspx)

tbolzan
12-12-2012, 16:05:28
Buenisima la idea de hacer el acceso directo, en ese momento me di cuenta que faltaba poner la extensión del archivo y por eso no funcionaba.
Le agregue la extensión y funciono a la perfección.

Muchas gracias por la respuesta y la prontitud

Carola