AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de Windows / Funciones de ejecutables
  • Usando un comando Line
  • Uso de la constante exeActive
  • Valor de retorno de un ejecutable WINDEV
  • Iniciar una aplicación en Windows Vista (y posterior)
  • Varios
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Ejecuta un programa (un archivo ejecutable, por ejemplo) desde la aplicación actual.
WINDEVJavaCódigo de Usuario (UMC) Esto le permite recuperar:
  • el valor de retorno del ejecutable con la constante exeReturnValue.
  • el identificador del proceso, también llamado PID con la constante exePID.
WINDEV Observaciones:
  • Desde Windows Vista, es posible que las aplicaciones no se inicien si el mecanismo UAC está activado.. Para obtener más información, consulte observaciones.
  • En Windows de 64 bits, puede acceder a un directorio del sistema desde un ejecutable de 32 bits en un directorio diferente. Para obtener más información, consulte Nativo de 64 bits y nativo de 32 bits.
Ejemplo
WINDEV
// Start Notepad in default mode
ExeRun("NOTEPAD.EXE Readme.txt")
WINDEV
// Start a program with long name containing space characters
// For example: Word with "My documents" as working directory

// Solution 1: Using the syntax specific to the multiline strings
// (to avoid doubling or tripling the quotes)
IF ExeRun([
"C:\Program Files\Microsoft Office\Office12\WINWORD.EXE"
], ...
exeActive, exeDontWait, SysDir(srMyDocuments)) = False THEN
Error(ErrorInfo())
END

// Solution 2: Doubling the quotes
ExeRun("""C:\Program Files\Microsoft Office\Office12\WINWORD.EXE""", ...
exeActive, exeDontWait, SysDir(srMyDocuments))
WINDEV
// Start applications with a file in command line
// Name of application to start
sAppName is string = "C:\Program Files\Adobe\Photoshop 6.0\Photoshp.exe"
// Name of the image to open
sImageName is string = "C:\Users\My Name\Pictures\Buildings\IMGP0993.JPG"

// Equivalent to "Start Run" 
// We must get a character string containing "" such as: 
// "C:\Program Files\Adobe\Photoshop 6.0\Photoshp.exe" 
// "C:\Users\My Name\Pictures\Buildings\IMGP0993.JPG"
IF ExeRun(StringBuild([
"%1" "%2"
], sAppName, sImageName)) = False THEN
Error(ErrorInfo())
END
Sintaxis

Ejecutar un ejecutable (en modo de bloqueo o no bloqueo) Ocultar los detalles

<Result> = ExeRun(<Program name> [, <Mode> [, <Wait for end> [, <Working directory>]]])
<Result>: booleano
  • True si se inició el programa,
  • False en caso contrario. ErrorInfo devuelve más detalles sobre el error.
<Program name>: Cadena de caracteres
Nombre del programa a iniciar con su ruta y/o los parámetros que deben pasarse al programa (si es necesario).
  • Si no se especifica ruta , el programa se busca en el directorio actual, luego en el directorio de Windows y en los directorios accesibles por PATH.
  • Si el ejecutable corresponde a un nombre largo con espacios, debe utilizarse la siguiente sintaxis:
    <Program name> = " " " Long_name_with_spaces" " Command_line"
<Mode>: Constante opcional de tipo Integer
Modo de inicio de programa (sin acción sobre los programas de DOS):
exeActive
(Valor predeterminado)
El programa ejecutado es Active, "toma control" sobre el programa actual.
exeIconizeEl programa que se ejecuta es Inactive y se minimiza.
Java Esta constante no está disponible.
exeInactiveEl programa que se ejecuta es Inactive: se ejecuta mientras el programa actual mantiene el foco.
Java Esta constante no está disponible.
exeMaximizeEl programa ejecutado es Active, "toma control" sobre el programa en curso (la ventana de ejecución se maximiza).
Java Esta constante no está disponible.
exeNoHandleInheritanceIndica que el ejecutable no debe heredar los manejadores del padre (se aplica a TODOS los manejadores, incluidos los archivos). El ejecutable es independiente de la aplicación que lo lanzó.
Esta constante puede combinarse con otras constantes de lanzamiento de la aplicación.
Java Esta constante no está disponible.
Java El programa que se ejecuta es siempre Active: se ejecuta "tomando control" sobre el programa en curso.
<Wait for end>: Constante opcional de tipo Boolean
Configura el tiempo de espera antes de reanudar la ejecución del programa actual:
exeDontWait
(Valor predeterminado)
El programa actual y el programa lanzado se ejecutan en paralelo.
exeWaitEl programa actual continúa su ejecución cuando finaliza la ejecución del programa.
<Working directory>: Cadena de caracteres opcional
Directorio de trabajo de la aplicación a iniciar.
WINDEVWindowsLinuxJavaCódigo de Usuario (UMC)

Iniciando un programa y recuperando un valor Ocultar los detalles

<Result> = ExeRun(<Program name> [, <Mode> [, <Element to return> [, <Working directory>]]])
<Result>: Integro
Valor buscado:
  • Valor de retorno del ejecutable si <Elemento por devolver> corresponde a la constante exeReturnValue.
  • PID del ejecutable si <Elemento por devolver> corresponde a la constante exePID.
ErrorInfo se utiliza para saber si se ha producido un error.
<Program name>: Cadena de caracteres
Nombre del programa a iniciar con su ruta y/o los parámetros que deben pasarse al programa (si es necesario).
  • Si no se especifica ruta , el programa se busca en el directorio actual, luego en el directorio de Windows y en los directorios accesibles por PATH.
  • Si el ejecutable corresponde a un nombre largo con espacios, debe utilizarse la siguiente sintaxis:
    = " " " Nombre_largo_con_espacios" " Comando_Line"
<Mode>: Constante opcional de tipo Integer
Modo de inicio del programa (no hay acción en los programas de DOS).
exeActive
(Valor predeterminado)
El programa ejecutado es Active, "toma control" sobre el programa actual
exeIconizeEl programa que se ejecuta es Inactive y se minimiza
exeInactiveEl programa que se ejecuta es Inactive: se ejecuta mientras el programa actual mantiene el foco
exeMaximizeEl programa ejecutado es Active, "toma control" sobre el programa en curso (la ventana de ejecución se maximiza)
Java Este parámetro no se tiene en cuenta. El programa ejecutado es Active, "toma control" sobre el programa actual.
<Element to return>: Constante opcional
Configura el resultado de la función:
exePIDEl programa actual y el programa lanzado se ejecutan en paralelo. corresponde al identificador de Process creado (también llamado PID) si el ejecutable se ha ejecutado correctamente, 0 si se ha producido un error.
Este identificador puede utilizarse, por ejemplo, en algunas APIs.
Java Esta constante no está disponible.
exeReturnValueEl programa actual reanuda su ejecución cuando finaliza la ejecución del programa.. es el valor de retorno del ejecutable.
<Working directory>: Cadena de caracteres opcional
Directorio de trabajo de la aplicación a iniciar.
Observaciones

Usando un comando Line

Para pasar parámetros en el comando Line a la ejecución del ejecutable, debe especificar el nombre y el ruta completo del ejecutable a ejecutar.
WINDEV Si el programa ejecutado fue desarrollado con WINDEV o WINDEV Mobile, puede get el comando Line utilizando CommandLine.
WINDEVWindowsLinuxJavaCódigo de Usuario (UMC)

Uso de la constante exeActive

Si el proceso en el que se ejecuta la aplicación (con la constante exeActive) ejecuta un código que permite al programa llamador recuperar el foco, el programa llamado pierde el control.
Para que el programa llamado se mantenga enfocado, debe evitar:
  • llamar a otra ventana o cuadro de diálogo después de llamar a la función ExeRun,
  • llamar a la función SetFocusAndReturnToUserInput después de la función ExeRun.
Además, el control Botón (si lo hay) cuyo evento "Click" asociado contiene una llamada a ExeRun no debe ser "Tab Stop" (" Acceder al control con TAB " en la pestaña "UI" del control description ).
WINDEVWindowsLinuxJavaCódigo de Usuario (UMC)

Valor de retorno de un ejecutable WINDEV

Un ejecutable WINDEV puede devolver un valor. Para ello:
  1. Crear un entero Variable global al proyecto.
  2. Inicie este Variable con el valor a devolver.
  3. Devuelve esta Variable con la palabra clave RETURN en el código de cierre del proyecto.
WINDEVWindowsCódigo de Usuario (UMC)

Iniciar una aplicación en Windows Vista (y posterior)

Si UAC (Cuenta de usuario control ) está habilitado, la aplicación que usa ExeRun para iniciar otra aplicación debe tener permisos más altos que la aplicación que se inicia.
Por ejemplo, una primera aplicación iniciada con los derechos de administrador puede iniciar una segunda aplicación que no requiera derechos específicos..
Si la segunda solicitud requiere más derechos que la solicitud que la inicia, la segunda solicitud puede no iniciarse. Windows propone permitir la gestión de la compatibilidad con Windows Vista. Si la gestión de la compatibilidad está habilitada, la segunda aplicación se ejecutará durante su próximo inicio.. También es posible utilizar la función ShellExecute.
WINDEVWindowsLinuxJavaCódigo de Usuario (UMC)

Varios

  • La función ExeRun no modifica el directorio actual. El directorio actual antes de ejecutar ExeRun es idéntico al directorio actual después de ejecutar ExeRun.
  • Si el programa ejecutado ignora el modo de ejecución especificado, el programa se ejecuta en modo exeActive de forma predeterminada.
Componente: wd290std.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 23/11/2023

Señalar un error o enviar una sugerencia | Ayuda local