Cómo ejecutar y terminar una aplicación desde Visual Basic 6.0 usando funciones API
Los desarrolladores que necesitan ejecutar o cerrar una aplicación desde Visual Basic 6.0 suelen depender de comandos de shell. Sin embargo, también se puede lograr esta tarea utilizando funciones de API.
![Cómo ejecutar y terminar una aplicación desde Visual Basic 6.0 usando funciones API - Video](https://i.ytimg.com/vi/JpJzdocqyMs/hqdefault.jpg)
Tiempo para programar
Vamos a crear un proyecto simple en VB para determinar el último y primer día de cualquier fecha dada. Abre Visual Studio y crea un nuevo proyecto. Ahora, agrega tres botones de comando: cmdCheck, cmdClose y cmdStart. Tu pantalla deberá parecerse a la que se muestra en Figura A.
Figura A |
Crea un proyecto simple con tres botones de comando. |
A continuación, agregaremos un código simple para completar nuestro proyecto. Agrega el siguiente código a la sección de declaración general:
Private sAppName As String, sAppPath As String
Agrega el código de la Lista A al evento cmdCheck_Click(). Luego, agrega el siguiente código al evento cmdClose_Click():
‘cerrar aplicación
Call EndTask(sAppName)
Agrega el siguiente código al evento cmdStart_Click():
‘iniciar una aplicación
Shell sAppPath, vbMinimizedFocus
Luego, agrega el siguiente código al evento Form_Load():
sAppName = “Adobe Photoshop”
sAppPath = “D:\program files\Adobe\Photoshop 6.0\Photoshp.exe”
![](https://newsmatic.com.ar/wp-content/uploads/como-obtener-acceso-completo-al-sistema-con-java-web-start-150x150.png)
En nuestro ejemplo, utilizamos Adobe Photoshop; simplemente debes indicar la ruta del ejecutable correspondiente en tu implementación. Agrega un módulo y el código de la Lista B. Presiona [Ctrl][F5] para ejecutar el proyecto.
Haz clic en el botón Check Status y verás un cuadro de mensaje que indica que la aplicación no se está ejecutando. Ahora haz clic en el botón Start Application y observarás cómo se abre la aplicación. Haz clic en Check Status nuevamente y recibirás la confirmación de que la aplicación se está ejecutando. Haz clic en Close Application y verás cómo se cierra la ventana de la aplicación.
¿Cómo funciona esto?
En el evento Form_Load, asignamos valores a dos variables (sAppName y sAppPath) que almacenan el nombre y la ruta de la aplicación que deseas ejecutar. En el evento cmdStart_Click, utilizamos el conocido comando Shell para abrir la aplicación. En el evento cmdCheck_Click, llamamos a la función IsTaskRunning (definida en el módulo), pasándole el nombre de la aplicación (nombre de la ventana). Si la función devuelve un valor verdadero, mostramos un cuadro de mensaje que indica que la aplicación se está ejecutando. Si la función devuelve falso, mostramos un cuadro de mensaje que indica que la aplicación no se está ejecutando. En el evento cmdClose_Click, llamamos a EndTask (definida en el módulo) para cerrarla.
Determinar si una aplicación está en ejecución
Veamos ahora qué ocurre en IsTaskRunning y EndTask. IsTaskRunning recibe el nombre de la ventana como parámetro sWindowName. Para averiguar si una aplicación en particular se está ejecutando, llamamos a la función de API FindWindow. Si la función FindWindow devuelve 0, significa que la ventana no se encontró y, por lo tanto, la aplicación no se está ejecutando. Si se devuelve algún otro valor, significa que la aplicación se está ejecutando.
La función EndTask también recibe el nombre de la ventana como parámetro sWindowName. Esta función verifica si la aplicación con el nombre de ventana sWindowName se está ejecutando, nuevamente utilizando la función de API FindWindow. Si la ventana no se encuentra, no es necesario hacer nada, ya que eso significa que la aplicación no se está ejecutando. Si la aplicación se está ejecutando, llamamos a la función de API IsWindow para determinar si el identificador de ventana es válido. Si no lo es, simplemente salimos; de lo contrario, cerramos la aplicación. Para cerrar una aplicación, utilizamos GetWindowLong, una función de API que obtiene información de la estructura de la ventana para la ventana especificada y determina si la ventana no está desactivada (WS_DISABLED).
La función de API PostMessage cierra la aplicación y envía un mensaje a la cola de la ventana especificada (TargetHwnd). En este ejemplo, PostMessage con el argumento WM_CLOSE es equivalente a invocar el comando Cerrar en el menú del sistema para esa ventana.
![Cómo trabajar con el Document Object Model (DOM) en XML](https://newsmatic.com.ar/wp-content/uploads/crear-documentos-xml-con-el-dom-en-vb6-imagen-1.webp)
En caso de errores, la función ShowError muestra mensajes amigables para el usuario. La función espera dos argumentos:
- · sText: el texto del mensaje de error que deseas mostrar
- · sProcName: el nombre del procedimiento o función en el que ocurrió el error
ShowError muestra un cuadro de mensaje con el número de error e información proporcionada por sText y sProcName.
En este artículo, demostré una forma sencilla de abrir, verificar el estado y cerrar aplicaciones utilizando herramientas de API, lo que te brinda la ventaja de determinar si la aplicación se está ejecutando. Puedes obtener el código de este artículo aquí.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo ejecutar y terminar una aplicación desde Visual Basic 6.0 usando funciones API , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados