zoukankan      html  css  js  c++  java
  • 多参数启动试验(转载)

    来源:http://blog.csdn.net/vshirleyzhxl/archive/2008/08/03/2760986.aspx

    (一)、先制作一个带启动参数的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;
                    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);
            }

    这这里,整个任务完成。

    多个参数,先合并成为以空格分割的字符串,去掉文本前后的空格;然后通过Process.Start()启动目标EXE。

    执行程序内部自动以空格作为分割字符串,讲字符串解析成为字符串数组。

  • 相关阅读:
    [BJOI2019] 光线
    C# 从零开始写 SharpDx 应用 笔刷
    BAT 脚本判断当前系统是 x86 还是 x64 系统
    BAT 脚本判断当前系统是 x86 还是 x64 系统
    win2d 通过 CanvasActiveLayer 画出透明度和裁剪
    win2d 通过 CanvasActiveLayer 画出透明度和裁剪
    PowerShell 拿到显卡信息
    PowerShell 拿到显卡信息
    win10 uwp 如何使用DataTemplate
    win10 uwp 如何使用DataTemplate
  • 原文地址:https://www.cnblogs.com/bobzhangfw/p/1283321.html
Copyright © 2011-2022 走看看