Programm mit Argumenten starten

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Programm mit Argumenten starten

    Hi Comm,
    ich Code gerade einen Updater, der von der von meinem Programm mit Argumenten/Parametern gestartet wird.
    Ich starte den Updater so:

    VB.NET-Quellcode

    1. Shell(Environment.CurrentDirectory & "\Updater.exe -" & newversion & " -" & myversion & " -" & downloadlink)


    Wenn ich mir jetzt vom Updater die Argumente bzw. Parameter so ausgeben lasse:

    VB.NET-Quellcode

    1. If My.Application.CommandLineArgs.Count = 3 Then
    2. newestversion = My.Application.CommandLineArgs.Item(0).ToString
    3. myversion = My.Application.CommandLineArgs.Item(1).ToString
    4. downloadlink = My.Application.CommandLineArgs.Item(2).ToString
    5. MsgBox(newestversion & "|" & myversion & "|" & downloadlink)

    dann steht vor jedem Argument dieses "-" .
    Wie bekomme ich das weg? Habe es schon so versucht:

    VB.NET-Quellcode

    1. If My.Application.CommandLineArgs.Count = 3 Then
    2. newestversion = My.Application.CommandLineArgs.Item(0).ToString.Remove(0, 1)
    3. myversion = My.Application.CommandLineArgs.Item(1).ToString.Remove(0, 1)
    4. downloadlink = My.Application.CommandLineArgs.Item(2).ToString.Remove(0, 1)
    5. MsgBox(newestversion & "|" & myversion & "|" & downloadlink)

    und so:

    VB.NET-Quellcode

    1. If My.Application.CommandLineArgs.Count = 3 Then
    2. newestversion = My.Application.CommandLineArgs.Item(0).ToString.Split("-")(1)
    3. myversion = My.Application.CommandLineArgs.Item(1).ToString.Split("-")(1)
    4. downloadlink = My.Application.CommandLineArgs.Item(2).ToString.Split("-")(1)
    5. MsgBox(newestversion & "|" & myversion & "|" & downloadlink)

    aber nichts funktioniert :( hoffe ihr wisst um Rat!
    LG
    Merio

    VB.NET-Quellcode

    1. Dim txt As String = "-blabla"
    2. If (txt.StartsWith("-")) Then
    3. txt = txt.Substring(1)
    4. End If
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Probiere mal das hier:

    VB.NET-Quellcode

    1. 'Beispiel...
    2. Dim arg As String = "-123"
    3. arg = arg.Replace("-", "")
    4. MsgBox(arg)


    LG
    Der Updater is ein eigenes Projekt und ich hab vergessen, dass ich ja nach dem Debuggen die neue Updater.exe wieder in den DebugOrdner von meinem Programm kopier. D.h. da war immernoch der älteste Updater drin xD
    LG
    Merio