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