Feedback

VB - Programm mit eigenen Parametern

Veröffentlicht von am 20.11.2007
(2 Bewertungen)
Hier ein paar Zeilen, wie man an ein eigenes Programm Parameter übergeben kann.
Man kann sie von ÜBERALL aus dem Programm aufrufen (habe zumindest noch keinen Weg gefunden, das zum absturz zu bringen ;).

Programm starten:
"D:\meine Snippets.exe" time
"D:\meine Snippets.exe" time info
"D:\meine Snippets.exe" "time info"

Jede leertaste zwischen den parametern erzeugt einen weiteren Array eintrag.
So würde der 3. Aufruf 2 einträge erzeugen und in die Case Else laufen.
    '------- Aufruf im Programm: -------
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ExecuteParams()
    End Sub

    '------- Haupt-Sub -------
    Public Sub ExecuteParams()
        Dim args As String()
        args = Environment.GetCommandLineArgs()

        'bei 1 starten, weil das Programm IMMER seinen eigenen 
        'FULLPATH als ersten Parameter erkennt!
        For i As Integer = 1 To args.Length - 1
            Select Case args(i).ToLower
                Case "?", "help", "info"
                    MessageBox.Show(My.Computer.Name, "? / help / info")

                Case "time"
                    MessageBox.Show(Now, "Time", MessageBoxButtons.OK, MessageBoxIcon.Information)

                Case "invis"
                    Me.Visible = False
                    Me.ShowInTaskbar = False

                Case Else
                    MessageBox.Show("Unbekannter Parameter:" & vbCrLf & args(i), "Unbekannt!", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Select
        Next
    End Sub

1 Kommentare zum Snippet

Timo Schülter schrieb am 08.12.2011:
Hallo General Bison,
es gibt noch eine andere möglichkeit die ganu so Funktioniert (Easy Mode)


Private Shared Function ReadProcessArguments(ByVal Argument As String)

Dim args As String()
args = Environment.GetCommandLineArgs()
If args.Contains(Argument) Then Return True
Return False

End Function
 

Logge dich ein, um hier zu kommentieren!