VB.net – Programmaufruf mit Parametern

commandlineoption
Viele Programme bieten eine Kommandozeilen Option an, somit lassen sich die Programme meist komplett mit Parametern steuern. Einfaches Beispiel für eine Parameterübergabe sieht wie folgt aus:
“C:\WINXP\Notepad.exe D:\Daten\test.txt”
Übergibt man der Notepad.exe den Pfad zu einer Textdatei, so wird die angegebene Datei geöffnet.
Möchte man so eine Funktion auch in sein eigenes Programm einbauen, um zum Beispiel die Sprache per Übergabeparameter steuern, kann dies wie folgt programmiert werden:

Eine Variable in die die übergebenen Parameter gespeichert werden, anschließend die Parameter über “GetCommandLineArgs” auslesen

Dim para() As String '
para= Environment.GetCommandLineArgs()

Es wird eine Array zurückgegeben, auch mehere Parameter sind möglich. Über ein “Select Case” welches man anhand der Array Länge selektiert ,können den einzelnen Parameter Funktionen zugeordnet werden.

Select Case para.length
Case "1"
    'erste Element im Array enthält den Pfad + Anwendungs.exe
Case "2"
    'wenn 1 Parameter übergeben wird, in diesen Fall die Sprache
    'Funktion 1
    If para(1) = "german" then
        app_lang = "german"
        call change_language(applang)
    End if
    If para(1) = "english" then
        app_lang = "english"
        call change_language(applang)
    End if
Case "3"
    'wenn 2 Parameter übergeben werden, in diesen Fall die Sprache und ob
    'das Fenster maximiert oder miniert starten soll
    'Funktion 1
    If para(1) = "german" then
        app_lang = "german"
        call change_language(applang)
    End if
    If para(1) = "english" then
        app_lang = "english"
        call change_language(applang)
    End if
    'Funktion 2
    If para(2) = "max" then
        me.WindowState = FormWindowState.Maximized
    End if
    If para(2) = "min" then
       me.WindowState = FormWindowState.Minimized
    End if
End Select

Das erste Feld im Array “para” enthält die Sprache, im zweiten Feld wird der Wert “min” für minimiertes starten und “max” für maximiertes starten gespeichert. Die Anzahl der übergebenen Werte kann beliebig groß sein. Die einzlnen Funktionen könnten auch in einer gesamten Funktion untergebracht werden, somit muß nicht für jede mögliche Anzahl jede Funktion neu definiert werden.
Aufgerufen werden kann die Anwendung dann so:
c:\Daten\Programm\Programm.exe english max
> Programm in Englisch und maxmiert.