Ejecutando programas externos a nuestra aplicación


En cierta ocasión almacené en DVD una serie de instaladores de los programas que utilizaba con más frecuencia. Me planteé que sería buena idea utilizar una aplicación de autoarranque con un menú navegable en el que se accediese directamente a la instalación del programa seleccionado. ¿Cómo ejecutar un programa ajeno a nuestra aplicación desde código? Creando un nuevo proceso y asignándole la información necesaria para “saber” qué tiene que ejecutar.
Como ejemplo simple, lanzaremos una consola en la que el directorio de trabajo sea C:\. En tres pasos tendremos nuestra aplicación funcionando:

  • Crearemos una instancia de la clase Process
  • Informaremos de los datos oportunos (ruta del ejecutable, parámetros, directorio de trabajo…)
  • Lanzaremos el proceso.

' Declaramos un objeto que identificará al nuevo proceso
 Dim proceso As New Process()

 ' Indicamos la ruta del ejecutable que queremos lanzar
 proceso.StartInfo.FileName = "cmd.exe"

 ' Indicamos el directorio de trabajo
 proceso.StartInfo.WorkingDirectory = "C:\"

 ' En caso de ser necesario, podemos indicarle argumentos.
 proceso.StartInfo.Arguments = "/T:0A"

 ' Indicamos el estilo de la ventana
 proceso.StartInfo.WindowStyle = ProcessWindowStyle.Normal

 ' Por último, lanzamos el proceso
 proceso.Start()

Como vemos, hemos obtenido lanzar la orden cmd.exe /T:0A (el argumento /T cambia los colores de la consola) en el directorio de trabajo C:\.

ejemploCmd

Como podremos imaginar, así podremos ejecutar cualquier programa a cuya ruta tengamos acceso.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s