*.exe

Lilo
05 de Julio del 2005
Hola

Quiero ejecutar un pograma *.exe desde la aplicaci茂驴陆n que estoy creando en visual basic.

茂驴陆Pod茂驴陆is ayudarme?

Max
05 de Julio del 2005
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

lilo
05 de Julio del 2005
Gracias por la respuesta.

Siento haberte molestado, pero no encontraba..
Gracias.

Max
05 de Julio del 2005
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.

lilo
05 de Julio del 2005
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.

lilo
05 de Julio del 2005
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...

lilo
05 de Julio del 2005
Mmm... pues me da error...

el chay
05 de Julio del 2005
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.