有谁可以帮助我了解WinForms应用程序中的命令行参数?

时间:2019-08-16 12:38:29

标签: vb.net

我在理解VB.NET中的命令行参数时遇到问题。需要任何了解它的人的帮助。

这是我的应用程序。我想要的是使用开关 -U 或任何其他定义的参数启动应用程序时,使用进度栏打开另一个表单。

我已经创建并定义了具有更新功能的新表单,但是缺少一件事-对命令行参数的反应。

这是我要在Windows上运行的新应用的单独文件夹(不在“程序文件”中),我要在其中使用自动更新功能。

2 个答案:

答案 0 :(得分:2)

https://docs.microsoft.com/en-us/dotnet/api/system.environment.getcommandlineargs?view=netframework-4.8

示例在C#中,但是原理是相同的...使用GetCommandlineArgs可以返回一个字符串数组,其中包含启动应用程序的命令行参数。

答案 1 :(得分:1)

这实际上很简单。

在应用程序加载时,获取命令行变量列表,然后遍历它们并查找所需变量,然后采取相应行动:

Public Sub Main()
    Dim arguments As String() = Environment.GetCommandLineArgs()

    For Each a In arguments 'loop through the args in case there are multiple
        Select Case a.ToUpper 'compare in uppercase if you don't care how the user enters it.
            Case "-U"
                'the -U argument was found, set a flag, or perform an action, or otherwise act accordingly.
        End Select
    Next
End Sub

我总是把它放在一个选择的情况下,因为在我的应用程序中,我可能有多个参数,并遍历所有参数并相应地设置属性。在某些情况下,稍后添加其他参数很容易。如果您想抛出“无效参数”消息,则可以轻松添加其他情况。