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.
  • Uso de una línea de comandos
  • Usando 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
  • Equivalence
  • Modo de funcionamiento en modo GO y en tiempo de ejecución
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 Notas:
  • Desde Windows Vista, es posible que las aplicaciones no se inicien si el mecanismo UAC está activado.. Ver observaciones para 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.. Ver Nativo de 64 bits y nativo de 32 bits para 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 el programa se ha iniciado,
  • en casoFalse 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).
  • Si no se especifica ruta nada, 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> = " " " " Long_name_with_spaces" " Command_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)
La ejecución del programa está activa, "toma el control" sobre el programa en curso.
exeIconizeLa ejecución del programa está inactiva y se minimiza.
AndroidWidget Android Windows MobileJava Esta constante no está disponible.
exeInactiveLa ejecución del programa está inactiva: se ejecuta mientras el programa actual mantiene el foco.
AndroidWidget Android Java Esta constante no está disponible.
exeMaximizeLa ejecución del programa está activa, "toma el control" sobre el programa en curso (la ventana de ejecución está maximizada).
AndroidWidget Android Java Esta constante no está disponible.
PHP Este parámetro no está disponible.
AndroidWidget Android Java La ejecución del programa está siempre activa: se ejecuta "tomando el 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.:
exeEspere El 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 por 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:
  • El valor de retorno del ejecutable si <Elemento a retornar> corresponde a la constante exeReturnValue.
  • El PID del ejecutable si <Elemento a 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).
  • Si no se especifica ruta nada, 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> = " " " " Long_name_with_spaces" " Command_line"
<Mode>: Optional integer constant
Modo utilizado para iniciar el programa (ninguna acción en los programas DOS).
exeActive
(Valor predeterminado)
La ejecución del programa está activa, "toma el control" sobre el programa en curso
exeIconizeLa ejecución del programa está inactiva y se minimiza
Windows Mobile Esta constante no está disponible.
exeInactiveLa ejecución del programa está inactiva: se ejecuta mientras el programa actual mantiene el foco
exeMaximizeLa ejecución del programa está activa, "toma el control" sobre el programa en curso (la ventana de ejecución se maximiza).
Java Este parámetro se ignora. La ejecución del programa está activa, "toma el control" sobre el programa en curso.
<Element to return>: Optional constant
Configura el resultado de la función:
exeReturnValue El 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 proceso creado (también llamado PID) si el ejecutable se ejecutó correctamente, 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 por iniciar.
Observaciones

Uso de una línea de comandos

Para pasar parámetros en la línea de comandos a la ejecución del ejecutable, debe especificar el nombre y el nombre completo ruta del ejecutable que desea ejecutar.
Si la ejecución del programa se desarrolló con WINDEV, le CommandLine permite recuperar la línea de comandos.
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsLinuxWindows MobileJavaAjaxCódigo de Usuario (UMC)

Usando 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 llamante recuperar el enfoque, 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 la llamada a ExeRun,
  • llamar a la función ReturnToCapture después de la función ExeRun.
Además, el botón posible cuyo proceso contiene una llamada a ExeRun no debe ser un botón "Tab Stop" (accesible por TAB en la pestaña "Details" de la descripción del control).
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. Cree una variable entera global para el proyecto.
  2. Inicializar esta variable con el valor a devolver.
  3. Devuelve esta variable con la palabra Result clave en el código de cierre del proyecto.
WEBDEV - Código ServidorAjax

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

ExeRun se ejecuta en el servidor, por lo tanto la aplicación iniciada se ejecuta en el servidor.
De forma predeterminada, 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 la ejecución del programa 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 UAC está habilitado, la aplicación que está usando ExeRun para iniciar otra aplicación debe tener mayores derechos 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 tiene la capacidad de usar ShellExecute.
WINDEVWEBDEV - Código ServidorReportes y ConsultasWindowsLinuxWindows MobileJavaAjaxCódigo de Usuario (UMC)

Notas adicionales

  • 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 la ejecución del programa ignora el modo de tiempo de ejecución especificado, el programa se ejecuta en modo exeActive.
Windows Mobile

Equivalence

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.
  • 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.
Componente : wd240std.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Executa uma janela MS-DOS Iconizada
Exemplo CODE:

ExeRun(fCurrentDir()+"\executa.bat",exeIconize,exeDontWait)

Estamos solicitando que tenha também o recurso da janela ms-dos seja executada em modo HIDE/Oculta nas próximas versões.

ExeRun(fCurrentDir()+"\executa.bat",exe_Hide,exeDontWait)

We are also requesting that the ms-dos window feature be run in HIDE mode in future releases.

Please exe_Hide ok
BOLLER
29 07 2019
Video Exemplo ExeRun
https://youtu.be/_MqM-jTn3XQ
amarildo
26 10 2018
Executar um aplicativo passando parametros para ele
bStarted = ExeRun("C:\Windows\System32\calc.exe", exeActive, exeDontWait, "C:\Windows\System32\")

IF bStarted > 0 THEN

Info("Programa de calculadora executado!")

ELSE

Error("Programa de calculadora não executado. Favor Ligar para o suporte!")

END
BOLLER
25 01 2017
Exemplo 2 ExeRun
Exempo ExeRun

ExeRun("matos_utilitarios.exe")
//Blog com video e exemplo

http://windevdesenvolvimento.blogspot.com.br/2016/06/curso-windev-funcoes-exe-windows-004.html
https://www.youtube.com/watch?v=I7RyOO1v5oI
De matos AMARILDO
01 06 2016
Exemplo ExeRun
Exemplo ExeRun


// Iniciar um programa com nome comprido que contenham caracteres de espaço
// C:\Program Files\Microsoft Office\Office12\WINWORD.EXE
IF ExeRun([
"C:\Program Files (x86)\OpenOffice 4\program\soffice.EXE"
], ...
exeActive, exeDontWait, SysDir(srMyDocuments)) = False THEN
Error(ErrorInfo())
END

// Iniciar um programa com nome comprido que contenham caracteres de espaço
// C:\Program Files\Microsoft Office\Office12\WINWORD.EXE
ExeRun("""C:\Program Files (x86)\OpenOffice 4\program\soffice.EXE""", ...
exeActive, exeDontWait, SysDir(srMyDocuments))
// Iniciar aplicações com um arquivo em linha de comando
nome_aplicativo is string = "MSPAINT.EXE" // // "C:\Program Files\Adobe\Photoshop 6.0\Photoshp.exe"
nome_imagen is string = "E:\_IMAGENS\SERVICOS\Windev20\windev-20.JPG"
IF ExeRun(StringBuild([
"%1" "%2"
], nome_aplicativo, nome_imagen)) = False THEN
Error(ErrorInfo())
END

// observacao..
// Esses Parametros poderiam ser passado de fora do programa commandline
// exemplo: programa_exe_run mspaint.exe E:\_IMAGENS\SERVICOS\Windev20\windev-20.JPG
// Para saber mais sobre commandline assiste abaixo blog
// http://windevdesenvolvimento.blogspot.com.br/2015/02/windev-commandline-receber-parametros.html

//Blog com video e exemplo :

http://windevdesenvolvimento.blogspot.com.br/2015/02/windev-exerun.html
De matos AMARILDO
27 04 2016