Winform命令行参数返回可执行文件名

Bal*_*i C 6 c# parameters winforms

我试图将命令行参数传递给我拥有的winform,但无论我指定什么作为参数,它一直返回winform文件名和路径.

private void Form1_Load(object sender, EventArgs e)
{
    MessageBox.Show(Environment.GetCommandLineArgs()[0]);
}
Run Code Online (Sandbox Code Playgroud)

消息框将显示C:\App\MyApp.exe即使在cmd我键入C:\App\MyApp.exe param1哪个应该输出param1.

Ode*_*ded 8

你没有做错任何事.

命令行上的第一个参数始终是可执行文件名.

要获取传递给可执行文件的第一个参数,请获取下一个参数(假设存在一个参数):

Environment.GetCommandLineArgs()[1]
Run Code Online (Sandbox Code Playgroud)


Den*_*aub 5

第一个条目(索引0)始终是可执行文件的路径。您需要访问索引1。请尝试以下操作:

private void Form1_Load(object sender, EventArgs e)
{
    var arguments = Environment.GetCommandLineArgs();
    if (arguments.Length > 1) {
        MessageBox.Show(arguments[1]);
    }
}
Run Code Online (Sandbox Code Playgroud)