PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Usando un comando Line
  • Uso de la constante exeActive
  • Valor de retorno de un ejecutable WINDEV
  • Iniciar una aplicación en código de servidor WEBDEV
  • Iniciar una aplicación en Windows Vista (y posterior)
  • Notas adicionales
  • Equivalencia
  • Modo de funcionamiento en modo GO y en tiempo de ejecución
  • Aplicación en segundo plano: Caso específico de Android 10
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Inicia la ejecución de un programa (un ejecutable, por ejemplo) desde la aplicación actual..
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindows MobileJavaAjaxCó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.
WINDEVWEBDEV - Código Servidor Observaciones:
  • Desde Windows Vista, es posible que las aplicaciones no se inicien si el mecanismo UAC está activado.. Consulte observaciones para obtener más detalles.
  • En Windows de 64 bits, el acceso a un directorio del sistema desde un ejecutable de 32 bits se puede realizar en un directorio diferente al esperado.. Consulte Nativo de 64 bits y nativo de 32 bits para obtener más detalles.
Versiones 22 y posteriores
Android Esta función ahora está disponible para aplicaciones Android.
Widget Android Esta función ahora está disponible en modo Android Widget.
Nueva funcionalidad versión 22
Android Esta función ahora está disponible para aplicaciones Android.
Widget Android Esta función ahora está disponible en modo Android Widget.
Android Esta función ahora está disponible para aplicaciones Android.
Widget Android Esta función ahora está disponible en modo Android Widget.
Ejemplo
WINDEVWEBDEV - Código Servidor
// Start Notepad in default mode
ExeRun("NOTEPAD.EXE Readme.txt")
WINDEVWEBDEV - Código Servidor
// 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))
WINDEVWEBDEV - Código Servidor
// 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
Versiones 22 y posteriores
AndroidWidget Android
// Start Google Maps
ExeRun("com.google.android.apps.maps")
Nueva funcionalidad versión 22
AndroidWidget Android
// Start Google Maps
ExeRun("com.google.android.apps.maps")
AndroidWidget Android
// Start Google Maps
ExeRun("com.google.android.apps.maps")
Sintaxis

Running an executable (in locking or non-locking mode) Ocultar los detalles

<Result> = ExeRun(<Program name> [, <Mode> [, <Wait for end> [, <Working directory>]]])
<Result>: Boolean
  • True si se inició el programa,
  • False en caso contrario. ErrorInfo devuelve más detalles sobre el error.
PHP Esta función no devuelve ningún resultado.
<Program name>: Character string
Nombre del programa a iniciar con su ruta y/o los parámetros que deben pasarse al programa (si es necesario).
  • If no ruta se especifica, 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 del programa> = " " " Nombre largo con espacios" " Comando_Line"
Versiones 22 y posteriores
AndroidWidget Android Nombre completo de la aplicación a iniciar (con el nombre del paquete).
Ejemplo: para iniciar la aplicación Google Maps, <Nombre del programa> corresponde a: "com.google.android.apps.maps"
Nueva funcionalidad versión 22
AndroidWidget Android Nombre completo de la aplicación a iniciar (con el nombre del paquete).
Ejemplo: para iniciar la aplicación Google Maps, <Nombre del programa> corresponde a: "com.google.android.apps.maps"
AndroidWidget Android Nombre completo de la aplicación a iniciar (con el nombre del paquete).
Ejemplo: para iniciar la aplicación Google Maps, <Nombre del programa> corresponde a: "com.google.android.apps.maps"
<Mode>: Optional integer constant
Modo utilizado para iniciar el programa (ninguna acción en los programas DOS).
exeActive
(Valor predeterminado)
El programa que se ejecuta es Active, "toma control" sobre el programa actual.
exeIconizeEl programa que se ejecuta es Inactive y se minimiza.
AndroidWidget Android Windows MobileJava Esta constante no está disponible.
exeInactiveEl programa que se ejecuta es Inactive: se ejecuta mientras el programa actual mantiene el foco.
AndroidWidget Android Java Esta constante no está disponible.
exeMaximizeEl programa que se ejecuta es Active, "toma control" sobre el programa actual (la ventana de ejecución se maximiza).
AndroidWidget Android Java Esta constante no está disponible.
PHP Este parámetro no está disponible.
AndroidWidget Android Java El programa que se ejecuta es siempre Active: está dirigido por "tomar control" sobre el programa actual.
<Wait for end>: Optional Boolean constant
Configura el tiempo de espera antes de reanudar la ejecución del programa actual.:
exeWaitEl programa actual continúa su ejecución cuando finaliza la ejecución del programa.
AndroidWidget Android La aplicación sólo se puede iniciar en modo de no-bloqueo. Se produce un error fatal si se utiliza la constante exeWait.
exeDontWait
(Valor predeterminado)
El programa actual y la ejecución del programa se ejecutan en paralelo.
PHP Este parámetro no está disponible.
<Working directory>: Optional character string
Directorio de trabajo de la aplicación a iniciar.
AndroidWidget Android PHP Este parámetro no está disponible.
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsLinuxWindows MobileJavaAjaxCódigo de Usuario (UMC)

Starting a program and retrieving a value Ocultar los detalles

<Result> = ExeRun(<Program name> [, <Mode> [, <Element to return> [, <Working directory>]]])
<Result>: Integer
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 averiguar si se ha producido un error.
<Program name>: Character string
Nombre del programa a iniciar con su ruta y/o los parámetros que deben pasarse al programa (si es necesario).
  • If no ruta se especifica, 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 del programa> = " " " Nombre largo con espacios" " Comando_Line"
<Mode>: Optional integer constant
Modo utilizado para iniciar el programa (ninguna acción en los programas DOS).
exeActive
(Valor predeterminado)
El programa que se ejecuta es Active, "toma control" sobre el programa actual
exeIconizeEl programa que se ejecuta es Inactive y se minimiza
Windows Mobile Esta constante no está disponible.
exeInactiveEl programa que se ejecuta es Inactive: se ejecuta mientras el programa actual mantiene el foco
exeMaximizeEl programa que se ejecuta es Active, "toma control" sobre el programa actual (la ventana de ejecución se maximiza)
Java Este parámetro no se tiene en cuenta. El programa que se ejecuta es Active, "toma control" sobre el programa actual.
<Element to return>: Optional constant
Configura el resultado de la función:
exeReturnValueEl programa actual reanuda su ejecución cuando finaliza la ejecución del programa.. <Resultado> corresponde al valor de retorno del ejecutable.
exePIDEl programa actual y la ejecución del programa se ejecutan en paralelo. <Resultado> corresponde al identificador del Process creado (también llamado PID) si el ejecutable se ejecutó con éxito, 0 si se produjo un error.
Este identificador puede utilizarse, por ejemplo, en algunas APIs.
Java Esta constante no está disponible.
<Working directory>: Optional character string
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.
Si la ejecución del programa fue desarrollada con WINDEV, CommandLine permite recuperar el comando Line.
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsLinuxWindows MobileJavaAjaxCó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, usted no debe hacerlo:
  • llamar a otra ventana o cuadro de diálogo después de llamar a la función ExeRun,
  • llamar a la función ReturnToCapture 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" ("Accesible por TAB" en la pestaña "UI" del control description).
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsLinuxWindows MobileJavaAjaxCódigo de Usuario (UMC)

Valor de retorno de un ejecutable WINDEV

Un ejecutable WINDEV puede devolver un valor. Para esto:
  1. Crear un entero Variable global al proyecto.
  2. Inicie este Variable con el valor a devolver.
  3. Devuelve este Variable con la palabra clave RESULTADO en el código de cierre del proyecto.
WEBDEV - Código ServidorAjax

Iniciar una aplicación en código de servidor WEBDEV

La función ExeRun se ejecuta en el servidor, por lo que la aplicación iniciada también se ejecuta en el servidor.
Por defecto, la aplicación sólo es Visible en el administrador de tareas porque se inicia desde un servicio que no interactúa con el escritorio de Windows.
Para que el programa que se ejecute sea Visible en el servidor, la opción "Permitir que el servicio interactúe con el escritorio" debe estar marcada en las propiedades del servicio WEBDEV.
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsAjaxCódigo de Usuario (UMC)

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

Si el mecanismo UAC (Control de Cuentas de Usuario) está habilitado, los derechos de la aplicación que utiliza la función ExeRun para iniciar otra aplicación deben ser superiores a los derechos de 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 tienes la capacidad de usar ShellExecute.
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsLinuxWindows MobileJavaAjaxCódigo de Usuario (UMC)

Notas adicionales

  • 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.
Windows Mobile

Equivalencia

El modo de funcionamiento de ExeRun es equivalente al modo de funcionamiento de cErunExe.
La única diferencia es que:
  • cErunExe ejecuta un programa en el Pocket PC desde una aplicación WINDEV.
  • la función ExeRun ejecuta un programa en el Pocket PC desde una aplicación WINDEV Mobile.
Windows Mobile

Modo de funcionamiento en modo GO y en tiempo de ejecución

En GO mode (simulación en el ordenador de desarrollo), la aplicación a iniciar debe encontrarse en el ordenador de desarrollo.
En tiempo de ejecución, la aplicación a iniciar debe encontrarse en el Pocket PC.
Las diferencias entre el modo GO (simulador) y el uso real se presentan en Diferencias entre el modo GO y el uso real.
Versiones 25 y posteriores
AndroidWidget Android

Aplicación en segundo plano: Caso específico de Android 10

A partir de Android 10, no se puede abrir una ventana si la aplicación está en segundo plano.
La función ExeRun puede abrir una ventana. Si se utiliza esta función cuando la aplicación está en segundo plano, se producirá un error fatal.
Consejos:
  • Para saber si la aplicación está en segundo plano, utilice la función InBackgroundMode.
  • Si una aplicación necesita interactuar con el usuario cuando está en segundo plano, se puede mostrar una notificación (con el tipo Notification). Al hacer clic en la notificación, la aplicación volverá al primer plano si la propiedad ..ActivateApplication se establece en True. También es posible abrir una ventana desde el procedimiento pasado a la propiedad ..ActionClick.
Nueva funcionalidad versión 25
AndroidWidget Android

Aplicación en segundo plano: Caso específico de Android 10

A partir de Android 10, no se puede abrir una ventana si la aplicación está en segundo plano.
La función ExeRun puede abrir una ventana. Si se utiliza esta función cuando la aplicación está en segundo plano, se producirá un error fatal.
Consejos:
  • Para saber si la aplicación está en segundo plano, utilice la función InBackgroundMode.
  • Si una aplicación necesita interactuar con el usuario cuando está en segundo plano, se puede mostrar una notificación (con el tipo Notification). Al hacer clic en la notificación, la aplicación volverá al primer plano si la propiedad ..ActivateApplication se establece en True. También es posible abrir una ventana desde el procedimiento pasado a la propiedad ..ActionClick.
AndroidWidget Android

Aplicación en segundo plano: Caso específico de Android 10

A partir de Android 10, no se puede abrir una ventana si la aplicación está en segundo plano.
La función ExeRun puede abrir una ventana. Si se utiliza esta función cuando la aplicación está en segundo plano, se producirá un error fatal.
Consejos:
  • Para saber si la aplicación está en segundo plano, utilice la función InBackgroundMode.
  • Si una aplicación necesita interactuar con el usuario cuando está en segundo plano, se puede mostrar una notificación (con el tipo Notification). Al hacer clic en la notificación, la aplicación volverá al primer plano si la propiedad ..ActivateApplication se establece en True. También es posible abrir una ventana desde el procedimiento pasado a la propiedad ..ActionClick.
Componente : wd250std.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