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:\.
Como podremos imaginar, así podremos ejecutar cualquier programa a cuya ruta tengamos acceso.