Shell en VB.Net

| |
La función Shell permite ejecutar un archivo .exe, cualquiera de esta forma nuestro programa llama a un programa nuevo, el cual se va a ejecutar en su propio proceso.

Ejemplo
  1. Shell("c:\Archivos\software\programa.exe", AppWinStyle.NormalFocus)
Este código va a ejecutar el programa llamado precisamente "programa.exe", peeero, como toda función va a devolver un valor, este es Integer

Parámetros Obligatorios.

Pathname

String que tiene la ruta del programa a ejecutar.

Parametros Opcionales.

AppWinStyle (valor por defecto AppWinStyle.MinimizedFocus)

Valores que puede tomar.

  • AppWinStyle.Hide (ventana escondida)
  • AppWinStyle.NormalFocus (la ventana se ve normal y en el tamaño mas reciente)
  • AppWinStyle.MinimizedFocus (ventana minimizada)
  • AppWinStyle.MaximizedFocus (ventana maximizada)
  • AppWinStyle.NormalNoFocus (ventana normal, pero no toma el foco)
  • AppWinStyle.MinimizedNoFocus (ventana minimizada, pero no toma el foco) 
Wait (Boolean, valor por defecto False)

Indica si el Shell debe esperar que el programa se ejecute.

Timeout (Integer, valor por defecto -1)

Tiempo que debe esperar el Shell a que el programa se ejecute, solo si Wait está en True.

Valor de retorno (Integer).

El valor devuelto por la función Shell depende de si el programa especificado en Pathname se sigue ejecutando cuando se restablezca el Shell. Si se establece en True el parámetro Wait y el programa termina antes de que el tiempo de espera, Shell devuelve cero. Si el Timeout expira, o si se omite Wait o éste se establece en False, Shell devuelve el id de proceso del programa. El proceso de identificación es un número único que identifica el programa en ejecución.

Vamos a ver un ejemplo mas claro,


  1. Dim IDDelProceso As Integer
  2. 'Ejecuta el programa
  3. IDDelProceso = Shell("c:\Archivos\software\ShellEjemplo.exe", AppWinStyle.NormalFocus)
 IDDelProceso es la variable que se va a recibir el ID del proceso, esto puede ser muy útil por ejemplo, por si queremos "matar" el proceso mas adelante, ya sabemos que número pasar.

0 comentarios:

Publicar un comentario

Con la tecnología de Blogger.