FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Ejecutar aplicación externa
Hola a todos:
Alguien me sabría decir cómo puedo ejecutar una aplicación externa (tanto para win98 como XP) de forma que si esta aplicación no existe me permita mostrar un mensaje personalizado? Por ejemplo iniciar el Word y en el caso de no existir mostrar un mensaje de texto en el block de notas o en el programa de correo por defecto para mandar un mensaje. Estoy usando Delphi 7 y el comando WinExec(), pero no sé como capturar el posible error al no existir el ejecutable. WinExec(PChar('word.exe'),SW_SHOWNORMAL); Muchas gracias.
__________________
No sabiendo que era imposible... él fue... y lo hizo!!! En fase de construcción: LoBusco.com más .com que nunca! |
#2
|
||||
|
||||
Hola,
Según el SDK (Software Development Kit) de Win32 que se incluye junto a Delphi, precisamente, la función "WinExec" puede devolver "ERROR_FILE_NOT_FOUND" si no se encuentra el programa a ejecutar. Es cuestión de una condicional, por lo tanto: Respecto de avisar al usuario, creo que con lo de arriba bastaría, pero, haciendo algo como lo siguiente puedes abrir el programa predeterminado en el sistema para esos menesteres y preparar un correo: Respecto de abrir el Bloc de notas con un determinado texto, pues, la verdad, ahora mismo no sabría decirte cómo hacerlo, fuera de crear un archivo de texto "al vuelo" y abrirlo con el Bloc de notas, so pena de que pueda hacerse de otra mejor forma. Por cierto, no dejes de revisar la ayuda de la función "WinExec" así como de "ShellExecute" en donde te digo más arriba: Mira en el menú de Delphi Help > Windows SDK. Y por cierto también, acaso te interese la función "FileExists", puesto que con esta puedes averiguar si un archivo/programa existe. Última edición por dec fecha: 04-08-2005 a las 03:41:13. Razón: (corrección del texto) |
#3
|
|||
|
|||
Yo tengo otra duda sobre esto mismo, estoy trabajando en delphi 5 y en lugar de utilizar winExec intento utilizar ShellExecute, porque tengo que pasarle parametros a la aplicación que llamo. Pero me da un error de que el identificador "ShellExecute" no está definido. Eso porqeu es?? es que no se puede utilizar en delphi 5???
|
#4
|
||||
|
||||
Hola,
Cita:
Por otro lado es una función del API de Windows, quiere decirse, que, siempre podrías llamar directamente a dicha función sabiendo la librería en que esta se encuentre y la forma de hacerlo, claro está. |
#5
|
||||
|
||||
Gracias
Gracias Dec por responder.
He probado lo que me sugeriste y si, realmente funciona y justo como yo había pensado. He estado también revisando la ayuda del SDK y he encontrado unas cuantas cosillas que me han venido de perlas. (Nunca me había fijado que tenía esto en mi máquina!!!) Gracias de nuevo.
__________________
No sabiendo que era imposible... él fue... y lo hizo!!! En fase de construcción: LoBusco.com más .com que nunca! |
|
|
|