先说明,我要调用一个.exe文件,调用命令如下:
LoadForecast forecast t1 t2 [list]
其中t1,t2为用户指定时间,但是格式有一定限制,例如2004年12月20日,必须是20041220
forecast表明功能是进行预测,[list]是所选方案的列表,共有7个,由用户选定,可以多选,比如用
方案1(id为schema001)和方案2(id为schema002)来预测2004年12月20日的负荷值,调用命令为
LoadForecast forecast 20041220 20041220 schema001 schema002我的程序如下:
  private void loadForecastButton_Click(object sender, EventArgs e)
        {
            string strT1 = dateTimePicker1.Value.ToString("yyyymmdd");
            string strT2 = dateTimePicker2.Value.ToString("yyyymmdd");
            string str1 = "forecast";
            string[] strSelect=new string[7];
            for (int i = 0; i < 7; i++)
            {
                if (checkedListBox1.GetItemChecked(i))
                {
                    int j = 0;
                    strSelect[j] = checkedListBox1.Items[i].ToString();
                }
            }
            Process pro = new Process();
            pro.StartInfo.UseShellExecute = false;
            pro.StartInfo.FileName = "d:\\LoadForecast.exe";
            pro.StartInfo.Arguments = "str1"+"strT1"+"strT2"+"strSelect";
            pro.StartInfo.CreateNoWindow = true;
            pro.Start();
        }
我运行完以后没有什么结果,不知道为什么

解决方案 »

  1.   

    private void loadForecastButton_Click(object sender, EventArgs e)
            {
                string strT1 = dateTimePicker1.Value.ToString("yyyyMMdd");
                string strT2 = dateTimePicker2.Value.ToString("yyyyMMdd");
                string str1 = "forecast";
                string strSelect="";
                for (int i = 0; i < 7; i++)
                {
                    if (checkedListBox1.GetItemChecked(i))
                    {
                        int j = 0;
                        strSelect += " " + checkedListBox1.Items[i].ToString();
                    }
                }
                Process pro = new Process();
                pro.StartInfo.UseShellExecute = false;
                pro.StartInfo.FileName = "d:\\LoadForecast.exe";
                pro.StartInfo.Arguments = str1 + " " + strT1 + " " + strT2 + strSelect";
                pro.StartInfo.CreateNoWindow = true;
                pro.Start();
            }
    //代码没测试过
      

  2.   

    sorry,不懂,帮你顶~~~~~~~~~~~~~~~~~~~~~~
      

  3.   

    coowoo(coowoo),谢谢了,但是他说过了最后一个变量用数组啊,用字符串好象不行的
      

  4.   

    你如果不用程序调用,在dos环境下是否可以直接调用成功,然后把你的dos中调用成功的格式贴出来。
      

  5.   

    按照理解,该程序所讲的列表,应该是以特殊符号组成的集合。如
    AA%BB%CC……
      

  6.   

    是这样的,这本身就是一个软件,我现在要重新做客户端,如果我把那个软件直接安装以后可以运行,但是我现在把启动的那个exe文件删掉,用我编的一个用户界面去调用里面的文件,但是运行以后也不提示错误,也没有在指定的文件夹中存放数据,不知为什么啊!
      

  7.   

    如愚翁所讲,直接运行exe看看是否有结果