C# 启动EXE文件及带启动参数EXE

Posted HappyEDay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 启动EXE文件及带启动参数EXE相关的知识,希望对你有一定的参考价值。

(一)、先制作一个带启动参数的EXE文件。

 步骤: 

           1、定义全局私有变量:private string[] s = new string[1];  //这里为了简单起见,只做一个参数

           2、  在窗体的构造函数中初始化启动参数            

public Form1(string[] p)
        {
            InitializeComponent();
            s = p;
        }

          3、在main()函数中进行参数判断        

static void Main(string[]   args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            if (args.Length <= 0)
            {
                MessageBox.Show("请输入启动参数");
                Application.Exit();
            }
            if (args.Length == 1)
            {
                if (args[0] == "Test")
                {
                    Application.Run(new Form1(args));
                }
                else
                {
                    MessageBox.Show("启动参数错误,请输入Test");
                    Application.Exit();
                }
            }
        }

到这里,带启动参数的EXE文件制作完成 

(二)调用带参数EXE文件(调用刚才做的程序),我写了下面这个简单的函数        

public bool StartProcess(string filename, string[] args)
        {
            try
            {
                string s="";
                foreach(string arg in args)
                {
                s=s+arg+" ";
                }
                s=s.Trim();
                Process myprocess = new Process();
                ProcessStartInfo startInfo = new ProcessStartInfo(filename,s);
                myprocess.StartInfo = startInfo;

//通过以下参数可以控制exe的启动方式,具体参照 myprocess.StartInfo.下面的参数,如以无界面方式启动exe等
                myprocess.StartInfo.UseShellExecute = false;
                myprocess.Start();
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show("启动应用程序时出错!原因:" + ex.Message);
            }
            return false;
        }

接着,在调用的地方调用此函数        

private void button1_Click(object sender, EventArgs e)
        {
            string[] arg = new string[1];
            arg[0] = textBox1.Text.Trim();
            StartProcess(@"E:/ZHOUXL/C#/FileOP/FileOP/bin/Debug/FileOP.exe",arg);
        }

 

以上是关于C# 启动EXE文件及带启动参数EXE的主要内容,如果未能解决你的问题,请参考以下文章

C#中怎么用process调用一个exe文件并传入参数?

如何在 C# 中启动我的项目中包含的 .exe 文件? [复制]

WPF 利用Process.Start()方法启动指定路径下的exe文件并传递参数接收参数

wc.exe程序

如何传递运行时参数以从批处理文件启动 exe

c#防止exe多次启动