Selfølgeligt gør den ikke det.. du bad jo ikke om den funktionalitet.. :-)
Her er den nye kode, som erstatter den gamle:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim besked As String
Dim parameter As String
Dim eksisterer_parameteren_i_listen As Boolean
Dim parametere_der_ikke_er_i_listen As String
Dim i As Integer
i = 0
For Each parameter In Environment.GetCommandLineArgs()
If i > 0 Then
parameter = parameter.ToString().ToLower()
eksisterer_parameteren_i_listen = False
' Eksempel:
'If parameter = "netradio" Then
' ' Start netradio
' StartProgram("c:\programmer\netradio.exe", False)
' eksisterer_parameteren_i_listen = True ' denne skal sættes til TRUE
'End If
If parameter = "netradio" Then
' Start netradio
StartProgram("c:\programmer\netradio.exe", False)
eksisterer_parameteren_i_listen = True
End If
If parameter = "notepad" Then
' Start notepad
StartProgram("c:\windows\notepad.exe", False)
eksisterer_parameteren_i_listen = True
End If
If parameter = "yahoo" Then
' Start notepad
StartProgram("
http://www.yahoo.com", True)
eksisterer_parameteren_i_listen = True
End If
If eksisterer_parameteren_i_listen = False Then
parametere_der_ikke_er_i_listen = parametere_der_ikke_er_i_listen & parameter & ";"
End If
End If
i = i + 1
Next
If parametere_der_ikke_er_i_listen <> "" And parameter <> Environment.GetCommandLineArgs()(0).ToLower() Then
' Mindst 1 af parameterne findes ikke i listen:
besked = ""
besked = besked & "Følgende parametere er ugyldige/findes ikke i listen:" & vbCrLf & vbCrLf
besked = besked & Replace(parametere_der_ikke_er_i_listen.Substring(0, parametere_der_ikke_er_i_listen.Length - 1), ";", vbCrLf)
MsgBox(besked)
End If
If Environment.GetCommandLineArgs().Length = 1 Then
' Der er IKKE angivet nogen parameter.. fortæl brugeren om det:
besked = ""
besked = besked & "Der er ikke angivet nogen parameter. Programmet bruges sådan:"
besked = besked & vbCrLf & vbCrLf & "program.exe netradio"
MsgBox(besked)
End If
Me.Close() ' Denne linier lukker formen
End Sub
Private Sub StartProgram(ByVal sti As String, ByVal stien_er_en_url_og_ikke_et_lokalt_program As Boolean)
On Error Resume Next ' Fortsæt selvom der opstår fejl
If stien_er_en_url_og_ikke_et_lokalt_program = True Then ' Hvis stien_er_en_url er TRUE, skal den starte browseren:
Dim stien_til_din_browser As String
stien_til_din_browser = "c:\programmer\internet explorer\iexplore.exe"
sti = stien_til_din_browser & " " & sti
End If
Dim returnID
returnID = Shell(sti, vbNormalFocus) ' start program
If Err.Number <> 0 Then ' Check om der er fejl
' Der opstod en fejl.. dan en besked vi kan give brugeren:
Dim besked As String
besked = ""
besked = besked & "Der opstod en fejl:" & vbCrLf
besked = besked & Err.Number & " - " & Err.Description & vbCrLf & vbCrLf
besked = besked & "ved afvikling af:" & vbCrLf & sti
MsgBox(besked, MsgBoxStyle.Critical) ' vis beskeden
End If
End Sub
End Class
/theSurfer