WinForm启动时接收参数

1 默认的Main函数,修改如下:

 static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);          

            if (args.Length == 0)
                Application.Run(new Form1());
            else
                Application.Run(new Form1(args));
        }
    }

2 Form1窗体的构造

  public partial class Form1 : Form
    {
        string[] args = null;
        public Form1()
        {
            InitializeComponent();
        }

        public Form1(string[] args)
        {
            InitializeComponent();
            this.args = args;
        }
    }

3 在另一个程序里调用编写的exe程序

我使用下面的方式调用会报错

System.Diagnostics.Process.Start("D:你的程序.exe 参数1")

下面的方式可以正常调用

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = true;
p.StartInfo.FileName = @"D:你的程序.exe";
p.StartInfo.Arguments = "参数1 参数2 参数3";
p.Start();

4. todo  cmd怎么调用

参考:

1.C#_WinForm接收命令行参数

原文地址:https://www.cnblogs.com/code1992/p/9673773.html