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.

Índice de Contenido
  1. Tiempo para programar
  2. ¿Cómo funciona esto?
  3. Determinar si una aplicación está en ejecución

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.

Cómo ejecutar y terminar una aplicación desde Visual Basic 6.0 usando funciones API - Desarrollo | Imagen 1 Newsmatic
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”

Cómo obtener acceso completo al sistema con Java Web Start

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 XMLCómo trabajar con el Document Object Model (DOM) en XML

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

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.