Como hago para que mi programa acepte argumentos por linea de comando? (VB.Net)

Iniciado por 70N1, 28 Enero 2010, 12:27 PM

0 Miembros y 1 Visitante están viendo este tema.

70N1

Alguien sabria decirme de algun ejemplo claro en el que se pueda ejecutar la aplicacion
desde ms-dos con argumentos?.
Quiero que para abrir mi aplicacion tengan que introducirle un pasword.


c:\mi_aplicacion.exe -password 1983
70N1

70N1

Encontre la solucion, aki os la pongo:


Public Class Form1

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        On Error GoTo puente
        Dim arg()
        arg = Environment.GetCommandLineArgs()
        If arg(1) = "1983" Then

            MsgBox(arg(1))
       
        Else
puente:
            Me.Close()
        End If
    End Sub
End Class



70N1


raul338

No solamente con numeros, tambien podrias tomarla asi:

If arg("password") = "1983" Then


seria mas facil y organizado :P

Keyen Night

No uses Me.Close para cerrar el form, estás en load, el objeto form no ha sido completamente creado aún debes usar End si quieres cerrar el form cuanto estas en load.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

LastDragon

Tambien puede usar las variables tradicionales

using System;

namespace aargumentos
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Argumento 1 " +  args[0]);
Console.WriteLine ("Argumentos " + args.Length);

}
}
}


Si lo ejecutamos con algunos argumentos.... daria esta salida

Citaraargumentos.exe Hola como estas
Argumento 1 Hola
Argumentos 3


Si no mete argumentos truena, por que le hace falta la comprobacion de que metio argumentos antes de usarlos

PD, VB.NET, C# todos son practicamente lo mismo., ya que obviamente escribi el codigo en C# no en VB