问题:什么时候出现ps == null ,什么时候出现ps.Length == 0
                Process[] ps = Process.GetProcessesByName("soffice.bin");               //获取进程数组
                if (ps == null || ps.Length == 0)                                       //??什么时候出现为零情况
                {
                    Process p = Process.Start(openofficePath, "-headless -nologo -norestore -invisible -nofirststartwizard");   //参数:  4:进程不可见    5:不需要开始向导
                    //spent some time to start    花一些时间来启动进程
                    System.Threading.Thread.Sleep(30000);//3000
                     
                }

解决方案 »

  1.   

    如果没有soffice.bin进程的话,则ps.Length == 0
    ps==null一般是程序严谨性所以判断加了这句
     
      

  2.   


    不对的哦!   只要赋值了Process[] ps = Process.GetProcessesByName("qq"),就是ps.Length>=0,而且不赋值,就会出现编译错误。  所以只有 ps.Length>=0
            private void btn5_Click(object sender, EventArgs e)
            {
                Process[] ps = Process.GetProcessesByName("qq");
                textBox1.Text ="进程数" + ps.Length.ToString();
            }