VB.net – Programmaufruf mit Parametern
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.