My.Application.CommandLineArgs Property
Gets a collection containing the command-line arguments as strings for the current application.
' Usage
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Application.CommandLineArgs
' Declaration
Public ReadOnly Property CommandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
Property Value
A ReadOnlyCollection<T> of String, containing the command-line arguments as strings for the current application.
Remarks
The My.Application.CommandLineArgs property provides read-only access to the current application's command-line arguments for applications that are not ClickOnce deployed.
For a single-instance application, the My.Application.CommandLineArgs property returns the command-line arguments for the first instance of an application. To access the arguments for subsequent attempts to start a single-instance application, you must handle the My.Application.StartupNextInstance Event and examine the CommandLine property of the StartupEventArgs argument.
Note
The My.Application.CommandLineArgs property returns only the command-line arguments. This is different from the behavior of the CommandLine property, which returns the application name in addition to the arguments.
Note
In an application that is ClickOnce deployed, use the ActivationUri property of the My.Application.Deployment object to get the command-line arguments. For more information, see My.Application.Deployment Property.
Tasks
The following table lists examples of tasks involving the My.Application.CommandLineArgs property.
To |
See |
---|---|
Check if the application started with the string /batch as an argument |
|
Check the command-line arguments of subsequent attempts to start a single-instance application |
Example
This example uses the My.Application.CommandLineArgs property to examine the application's command-line arguments. If an argument is found that starts with /input=, the rest of that argument is displayed.
Private Sub ParseCommandLineArgs()
Dim inputArgument As String = "/input="
Dim inputName As String = ""
For Each s As String In My.Application.CommandLineArgs
If s.ToLower.StartsWith(inputArgument) Then
inputName = s.Remove(0, inputArgument.Length)
End If
Next
If inputName = "" Then
MsgBox("No input name")
Else
MsgBox("Input name: " & inputName)
End If
End Sub
Requirements
Namespace:Microsoft.VisualBasic.ApplicationServices
Class:ConsoleApplicationBase
Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)
Availability by Project Type
Project type |
Available |
---|---|
Windows Application |
Yes |
Class Library |
No |
Console Application |
Yes |
Windows Control Library |
No |
Web Control Library |
No |
Windows Service |
Yes |
Web Site |
No |
Permissions
The following permission may be necessary:
Permission |
Description |
---|---|
Controls the ability to access the PATH environment variable. Associated enumeration: Read. |
For more information, see Code Access Security and Requesting Permissions.
See Also
Reference
ConsoleApplicationBase.CommandLineArgs