返回可执行文件名的 Winform 命令行参数
本文关键字:命令行 参数 Winform 可执行 文件名 返回 | 更新日期: 2023-09-27 18:18:47
我正在尝试将命令行参数传递给我拥有的winform 但是无论我指定什么作为参数,它都会返回winform 文件名和路径。
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show(Environment.GetCommandLineArgs()[0]);
}
消息框将显示C:'App'MyApp.exe
,即使在cmd上我键入C:'App'MyApp.exe param1
,它应该输出param1
。
你没有做错任何事。
命令行上的第一个参数始终是可执行文件名称。
若要获取传递给可执行文件的第一个参数,请获取下一个参数(假设存在(:
Environment.GetCommandLineArgs()[1]
第一个条目(索引 0(始终是可执行文件的路径。您需要访问索引 1。试试这个:
private void Form1_Load(object sender, EventArgs e)
{
var arguments = Environment.GetCommandLineArgs();
if (arguments.Length > 1) {
MessageBox.Show(arguments[1]);
}
}
Environment.GetCommandLineArgs()[0]
返回可执行文件的路径。
Environment.GetCommandLineArgs()[1]
...
Environment.GetCommandLineArgs()[n]
将返回n
个连续参数。
Environment.GetCommandLineArgs()
返回参数数组。
第一个命令行参数始终是程序的路径。
Environment.GetCommandLineArgs()[1]
将是"param1"
.
第一个参数将始终是可执行文件的名称。 参数从 1 开始。所以 Environment.GetCommandLineArgs(([1] 将给出第一个参数。
或者,我最喜欢的...
foreach (var arg in Environment.GetCommandLineArgs().Skip(1))
{
// process each arg in turn.
}