我有一个.net应用程序,我希望使用批处理文件启动任何特定的表单.
现在我知道如果我..。
单击“解决方案”属性,然后单击“调试”选项卡,在“开始选项”下选择“开始操作”,我可以指定命令行参数。
我需要输入什么命令行参数才能启动任何特定的表单?
我在批处理文件中尝试过这一点,但是它不起作用:
c:\TestFolder\TestApp\test.exe /a
c:\TestFolder\TestApp\test.exe /b
c:\TestFolder\TestApp\test.exe /c
如何让我的应用程序识别这些命令并启动正确的表单?或者我还能用别的方法吗?
发布于 2014-02-06 02:23:43
我已经想明白了..。
首先,在命令行参数下,我在解决方案属性中添加了这些命令。
然后在Application.Designer.vb (Program.cs Main(),如果您使用c#)下面
受保护的重写Sub OnCreateMainForm()
我添加了以下内容..。
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Try
If Me.CommandLineArgs(0) = "/a" Then
test.openForm1()
ElseIf Me.CommandLineArgs(0) = "/b" Then
test.openForm2()
ElseIf Me.CommandLineArgs(0) = "/c" Then
test.openForm3()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
测试是我正在编译的exe的名称。
这个在批处理文件中,这个工作..。
c:\TestFolder\TestApp\test.exe /a
c:\TestFolder\TestApp\test.exe /b
c:\TestFolder\TestApp\test.exe /c
请注意:
您必须记住在项目属性中指定至少一个命令行参数,它可以是任何值,而不是空值。
单击项目属性中的调试>转到开始选项>命令行参数:"/anything“
如果你错过了这一点,你可能会得到一个System.Argument.OutOfRangeException /索引超出范围。
https://stackoverflow.com/questions/21599529
复制相似问题