Visual Basic - Enviar parámetros a un archivo ejecutable .exe

Life is soft - evento anual de software empresarial
 
Vista:

Enviar parámetros a un archivo ejecutable .exe

Publicado por Silvia (38 intervenciones) el 13/01/2006 12:16:08
Hola buenos días, no se si será imposible lo que digo pero si no lo pregunto reviento:

Imaginemos que con visual basic 6.0 generó un archivo ejecutable .exe llamemoslo ejemplo.exe en el cual existe un formulario con un campo textbox.

Posteriormente con otro programa en visual basic 6.0 mediante el siguiente codigo:

Dim lValDev As Long
lValDev = ShellExecute(Me.hwnd, "Open", "c:\mensajes1\ejemplo.exe", "", "", 1)

abro el archivo ejecutable sin problemas.
pero.... ¿ es posible abrir el archivo ejecutable y a la vez enviarle un parametro?, es decir que me abra el ejecutable ejemplo.exe y en el campo textbox del formulario me inserte un dato.
Bueno ya lo he preguntado y me he quedado agusto.
Gracias de todas formas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de alberto
Val: 547
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Enviar parámetros a un archivo ejecutable .exe

Publicado por alberto (296 intervenciones) el 14/01/2006 12:30:48
En el procedimiento inicial de la aplicación la variable Command contendrá los argumentos que se le pasan al programa en la linea de comandos, así si ejecutas:

Dim lValDev As Long
lValDev = ShellExecute(Me.hwnd, "Open", "c:\mensajes1\ejemplo.exe losargumentos", "", "", 1)

en el procedimiento inicial de ejemplo Command contendrá "losargumentos"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No lo entiendo.

Publicado por Silvia (38 intervenciones) el 14/01/2006 14:33:19
Lo siento no lo entiendo, según me explicas si por ejemplo quiero ejecutar el archivo ejemplo.exe y cuando lo abra en el campo texto me introduzca la palabra hola, según tu debería de hacer lo de abajo
Dim lValDev As Long
lValDev = ShellExecute(Me.hwnd, "Open", "c:\mensajes1\ejemplo.exe text1="hola"", "", "", 1)

pero cuando pongo eso ni si quiera me abre el programa .
Por favor ponme un simple ejemplo como el que describo.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de alberto
Val: 547
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:No lo entiendo.

Publicado por alberto (296 intervenciones) el 15/01/2006 02:32:26
No es eso, si ejecutas:
Dim lValDev As Long
lValDev = ShellExecute(Me.hwnd, "Open", "c:\mensajes1\ejemplo.exe text1="hola"", "", "", 1)
En el procedimiento en el que se carga ejemplo.exe, la variable command tendrá el valor 'text1="hola"'

debes modificar dicho procedimento para que haga algo con dicho valor.

Por ejemplo si en el caso del proyecto ejemplo.vbp, el objeto inicial es un formulario, prueba a poner el siguiente codigo en el evento load del formulario

text1.text=command

veras que si ejecutas ejemplo saludos desde la linea de comandos el texto 'saludos' aparecerá en el text1.

shellexecute es una API, y me parece que si en el tercer parametro debes poner los parámetros de la linea de comandos.

otra forma de consseguir lo que quieres es mediante el comando Shell
shell con la sintaxis que te comente en la anterior respuesta, en la que por error puse shellexecute.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias si funciona

Publicado por Silvia (38 intervenciones) el 15/01/2006 12:23:05
Pero el parámetro hay que pasarlo en cuarto parámetro del shellexecute.
Dim lValDev As Long
lValDev = ShellExecute(Me.hwnd, "Open", "c:\ejecutable\proyecto1.exe", "juan", "", 1)

y así cuando en el evento load del ejecutable le ponga text1=command entonces se verá pepe.
Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar