向 VB.Net 应用程序添加命令行参数

Posted

技术标签:

【中文标题】向 VB.Net 应用程序添加命令行参数【英文标题】:Adding command line arguments to VB.Net application 【发布时间】:2011-11-05 07:15:15 【问题描述】:

我有一个由另一位程序员制作的基于 Windows 窗体的应用程序,我需要在它的 primary output exe 上添加一些命令行开关,以便我可以传递如下参数:

program.exe -reinitialiseprogram.exe -sync

我在网上找到了一些文档,但似乎都在 C# 中,并且仅适用于命令行程序。

此程序通过 .msi 安装,.exe 仅在最后构建。

所以我的问题是:

    如何向 VB.Net 应用程序添加命令行开关?

    我应该在哪里/以什么形式添加解析器,以便主输出 .exe 接受 args?

【问题讨论】:

【参考方案1】:

与 C/C# 类似,您将它们作为数组获取。与 C/C# 不同,您将它们作为只读属性从应用程序本身获取 (My.Application.CommandlineArgs)

http://msdn.microsoft.com/en-us/library/z2d603cy(v=vs.80).aspx#Y550

该页面上的代码示例(用于 VB)应该向您展示我认为您需要什么...

【讨论】:

但是它在表单应用程序中的哪个位置 - 在第一个显示的表单中?应用程序如何知道它是从命令行而不是链接启动的? 如果它是从一个链接启动的,该链接可能传递也可能没有传递参数,因此该部分不相关。 至于放在哪里...如果你查看你的项目设置,有一个定义的类和入口点,默认情况下是你的form1。您可以选择将代码放在那里(并在入口点读取它),您还可以创建一个类模块并更改项目以将其用作您的入口点,并从中加载您的表单。 VB对此非常松散,有时很方便,但有时却很烦人。 通过让应用程序知道它是否从命令行启动意味着我可以停止程序界面加载并在后台运行程序(我想要做的) - 我找到了这个:msdn.microsoft.com/en-us/library/stws2269(v=VS.90).aspx 但由于某种原因,我得到“语句不在有效的命名空间中” 一般来说,当我做这样的事情时,我使用命令参数告诉我以批处理模式运行。有时我有命令参数的事实让我可以推断批处理模式。它给你这个错误是因为你没有把它放在你的程序命名空间中,或者你创建了一个与你的程序本身没有关联的新命名空间。因为它是一种方法,所以它属于您的主应用程序类。这是该错误的链接:msdn.microsoft.com/en-us/library/5ycdx874(v=vs.80).aspx

以上是关于向 VB.Net 应用程序添加命令行参数的主要内容,如果未能解决你的问题,请参考以下文章

处理用户输入

从带有命令行参数的批处理文件运行控制台应用程序,如何在运行时传递参数值? [复制]

Linux Shell脚本编写——使用结构化命令

linux中设计一个shell脚本程序可以接受命令行输入的参数执行相应的菜单命令

将数据网格视图行添加到 vb.net 中的 sql 表

:处理用户输入