本人想在启动子进程时,向它传递一些如:路径,文件名之类的信息,请教高手,该如何实现,子进程有怎样得到这些信息???

解决方案 »

  1.   

    System.Diagnostics.Process.Start("notepad.exe", @"C:\boot.ini");
      

  2.   

    Process p=Process.Start(t_path.Text.ToString(),t_file.Text.ToString());
            Process.start()第一个参数是运行的程序名称,后面是该程序参数
      

  3.   

    调用:
    System.Diagnostics.Process.Start("notepad.exe", @"C:\boot.ini");Main方法:
    static void Main(string[] args)
    {
      if (args != null && args.Length > 0)
      {
        System.Windows.Forms.MessageBox.Show(args[0]);
      }
    }
      

  4.   

    raozhiven(朗屹) :
        net程序启动函数一般是:static void Main(),子进程里如何得到传递给它的参数信息,能否说具体一些??
      

  5.   

    启动函数即可以是static void Main(),也可以是static void Main(string[] args)。我在上面的回复中不是举了例子了吗?如何调用,以及调用的子进程如何获得进程参数的Main方法。
      

  6.   

    主进程调用:
    System.Diagnostics.Process.Start("notepad.exe", @"C:\boot.ini");子进程的Main方法:
    static void Main(string[] args)
    {
      if (args != null && args.Length > 0)
      {
        //显示进程的第一个参数
        System.Windows.Forms.MessageBox.Show(args[0]);
      }
    }
      

  7.   

    System.Diagnostics.Process.Statr("notepad.exe","@c:\a.txt")
      

  8.   

    raozhiven(朗屹):
        谢谢,上面的例子传递一个参数,如果多个参数呢???
      

  9.   

    System.Diagnostics.Process.Start("notepad.exe", @"C:\boot.ini MultiArg1 MultiArg2 MultiArg3");
      

  10.   

    每个参数中如果有空格,需要使用 双引号 界定。如:System.Diagnostics.Process.Start("notepad.exe", "\"C:\Program Files\a.ini\" \"Multi Arg1\" MultiArg2 MultiArg3");
      

  11.   

    System.Diagnostics.Process.Start("notepad.exe", "\"C:\\Program Files\\a.ini\" \"Multi Arg1\" MultiArg2 MultiArg3");
      

  12.   

    raozhiven(朗屹):    非常感谢,问题已经解决了.