Enviar parámetro a aplicación de VB.net 2005
Entre las funciones que tenemos en el VB.net 2005 se encuentra una función que no ha sufrido ningún cambio desde el vb.6.0 y es la función Command(), la cual se encarga de recibir parámetros externos.
El código se coloca en el Form Load del formulario inicial para poder recibir el parámetro, el siguiente ejemplo muestra como recibir un único parámetro
If Command() = "dato" Then
MsgBox("parámetro correcto")
Else
MsgBox("parámetro incorrecto")
End If
y con esto tenemos una aplicación que recibe un parámetro externo, ahora bien también podemos enviar multiples parámetros utilizando la Función Split() para dividir una cadena de carateres que le enviarmos a nuestra aplicación por ejemplo un dato que convertiremos en tres parametros “parametro1,parametro2,parametro3″ le colocamos un Split() para que se dividan por la coma
split(Command(),",")
El Split lo asignamos a un array de la siguiente manera
Dim datos() as String split(Command(),",")
Bien ya con esto definido podemos hacer nuestra aplicación que recibe multiparámetros y el ejemplo queda de la siguiente manera
Dim datos() As String
datos = Split(Command(), ",")
If datos(0) = "dato1" Then
MsgBox(datos(0))
MsgBox(datos(1))
MsgBox(datos(2))
'tendrías que enviar miExe.exe dato1,dato2,dato3
MsgBox("parámetro correcto")
Else
MsgBox("parámetro incorrecto")
End If
espero sirva el ejemplo.
Hola:
Este ejemplo me ha servido mucho, es justo lo que estaba buscando.
Muchas gracias
GRACIAS, YO LO USABA DE OTRA FORMA.
NOS VEMOS
Solo una consulta, he trabajado mucho mas en .NET, pero por lo dicho al inicio supongo que para enviarle el parametro se debe de usar la misma funcion ???
Gracias.
Así es, se usa el mismo comando.
nos vemos..
Y para mandar comandos entre programas que ya están ejecutándose ? Como se haría ?
pprogramar da ASCO!!!
Y en c# como se podria hacer algo similar
seria algo así
string[] datos = null; datos = Strings.Split(Interaction.Command(), ","); if (datos(0) == "dato1") { MessageBox.show(datos(0)); MessageBox.show(datos(1)); MessageBox.show(datos(2)); //tendrías que enviar miExe.exe dato1,dato2,dato3 MessageBox.show("parámetro correcto"); } else { MessageBox.show("parámetro incorrecto"); }