*.exe
Hola
Quiero ejecutar un pograma *.exe desde la aplicaci�n que estoy creando en visual basic.
�Pod�is ayudarme?
Quiero ejecutar un pograma *.exe desde la aplicaci�n que estoy creando en visual basic.
�Pod�is ayudarme?
Shell (Función)
Ejecuta un programa ejecutable y devuelve un tipo Variant (Double) que representa la identificación de la tarea del programa si se ha ejecutado con éxito, en caso contrario devuelve cero.
Sintaxis
Shell(pathname[,windowstyle])
La sintaxis de la función Shell tiene estosargumentos con nombre:
Parte Descripción
pathname Requerido; Variant (String). Nombre del programa a ejecutar y de cualesquieraargumentos necesarios o modificador de lalínea de comandos; puede incluir directorio o carpeta y unidad de disco.
windowstyle Opcional. Variant (Integer) correspondiente al estilo de la ventana en la cual se va a ejecutar el programa. Si se omite windowstyle, el programa se inicia minimizado con enfoque.
El argumento con nombre windowstyle tiene estos valores:
Constante Valor Descripción
vbHide 0 Se oculta Windows y se pasa el foco a la ventana oculta.
vbNormalFocus 1 Windows recupera el foco y vuelve a su posición y tamaño original.
vbMinimizedFocus 2 Windows se muestra como un icono con foco.
vbMaximizedFocus 3 Windows se maximiza con foco.
vbNormalNoFocus 4 Windows vuelve al tamaño y posición más recientes. La ventana activa actual permanece activa.
vbMinimizedNoFocus 6 Windows se muestra como un icono. La ventana activa actual permanece activa.
Comentarios
Si la función Shell ejecuta con éxito el archivo nombrado, devuelve la identificación de la tarea (Id) del programa iniciado. La Id de la tarea es un número exclusivo que identifica el programa en ejecución. Si la función Shell no puede iniciar el programa nombrado, ocurrirá un error.
Nota De manera predeterminada, la función Shell ejecuta otros programas de forma asíncrona. Esto quiere decir que no se puede esperar que un programa iniciado con Shell termine su ejecución antes de que se ejecuten las instrucciones que siguen a la función Shell en la aplicación.
' Si se especifica 1 como el segundo argumento, la aplicación se
' ejecuta normalmente y recibe el enfoque.
Dim RetVal
RetVal = Shell("C:WINDOWSCALC.EXE", 1) ' Ejecuta Calculadora.
Esto es lo que sale en en el MSDN.
Si primero buscamos y despues preguntamos muchas veces ahorrariamos tiempo.
Max
Ejecuta un programa ejecutable y devuelve un tipo Variant (Double) que representa la identificación de la tarea del programa si se ha ejecutado con éxito, en caso contrario devuelve cero.
Sintaxis
Shell(pathname[,windowstyle])
La sintaxis de la función Shell tiene estosargumentos con nombre:
Parte Descripción
pathname Requerido; Variant (String). Nombre del programa a ejecutar y de cualesquieraargumentos necesarios o modificador de lalínea de comandos; puede incluir directorio o carpeta y unidad de disco.
windowstyle Opcional. Variant (Integer) correspondiente al estilo de la ventana en la cual se va a ejecutar el programa. Si se omite windowstyle, el programa se inicia minimizado con enfoque.
El argumento con nombre windowstyle tiene estos valores:
Constante Valor Descripción
vbHide 0 Se oculta Windows y se pasa el foco a la ventana oculta.
vbNormalFocus 1 Windows recupera el foco y vuelve a su posición y tamaño original.
vbMinimizedFocus 2 Windows se muestra como un icono con foco.
vbMaximizedFocus 3 Windows se maximiza con foco.
vbNormalNoFocus 4 Windows vuelve al tamaño y posición más recientes. La ventana activa actual permanece activa.
vbMinimizedNoFocus 6 Windows se muestra como un icono. La ventana activa actual permanece activa.
Comentarios
Si la función Shell ejecuta con éxito el archivo nombrado, devuelve la identificación de la tarea (Id) del programa iniciado. La Id de la tarea es un número exclusivo que identifica el programa en ejecución. Si la función Shell no puede iniciar el programa nombrado, ocurrirá un error.
Nota De manera predeterminada, la función Shell ejecuta otros programas de forma asíncrona. Esto quiere decir que no se puede esperar que un programa iniciado con Shell termine su ejecución antes de que se ejecuten las instrucciones que siguen a la función Shell en la aplicación.
' Si se especifica 1 como el segundo argumento, la aplicación se
' ejecuta normalmente y recibe el enfoque.
Dim RetVal
RetVal = Shell("C:WINDOWSCALC.EXE", 1) ' Ejecuta Calculadora.
Esto es lo que sale en en el MSDN.
Si primero buscamos y despues preguntamos muchas veces ahorrariamos tiempo.
Max
Gracias por la respuesta.
Siento haberte molestado, pero no encontraba..
Gracias.
Siento haberte molestado, pero no encontraba..
Gracias.
No es molestia, si no, no habría contestado, pero es cierto que muchas veces preguntamos (y me incluyo) sin haber buscado primero.
Espero haberte ayudado, si necesitas algo más ya sabes...
Max.
Espero haberte ayudado, si necesitas algo más ya sabes...
Max.
Muchas gracias.
Se ejecuta el archivo *.exe perfectamente. Pero, como comentabas, se ejecuta de forma asíncrona. He estado mirando cómo esperar a que termine, pero la solución que dan (según entiendo) es esperar hasta que la ventana se ha cerrado.
Esto para mi es un gran problema, porque lo que yo ejecuto no abre ninguna ventana.
¿Hay otra forma de detectar si se ha terminado de ejecutar?
Gracias otra vez por la ayuda.
Se ejecuta el archivo *.exe perfectamente. Pero, como comentabas, se ejecuta de forma asíncrona. He estado mirando cómo esperar a que termine, pero la solución que dan (según entiendo) es esperar hasta que la ventana se ha cerrado.
Esto para mi es un gran problema, porque lo que yo ejecuto no abre ninguna ventana.
¿Hay otra forma de detectar si se ha terminado de ejecutar?
Gracias otra vez por la ayuda.
Bueno, nada más preguntar he encontrado esta pagina (A veces pasan estas cosas)
http://www.elguille.info/vb/VB_API02.HTM
Creo que de esta manera funciona bien. Tengo que probarlo un poco más. Lo pondré si funciona bien por si a alguien le interesa...
http://www.elguille.info/vb/VB_API02.HTM
Creo que de esta manera funciona bien. Tengo que probarlo un poco más. Lo pondré si funciona bien por si a alguien le interesa...
para que te quede en forma de ejecutable trata de poner un icono a cado uno de tus formularios, despues publicalos, enseguida te vas al menu archivo y te aparece una opcion que dice guardar proyecto.exe.
otra forma es irse al menu complementos/ asistente para el empaquetamiento, despues te aparece una serie de instrucciones para que puedas hacerlo ejecutable y lo coloques en el menu de inicio, espero te sirva.
otra forma es irse al menu complementos/ asistente para el empaquetamiento, despues te aparece una serie de instrucciones para que puedas hacerlo ejecutable y lo coloques en el menu de inicio, espero te sirva.
