我用的是
Process pro = new Process();
pro.StartInfo.UseShellExecute = false;
pro.StartInfo.FileName = "d:\\11\\LoadForecast.exe";
pro.StartInfo.Arguments = str1 +" "+ strT1+" " + strT2 + strSelect;
pro.StartInfo.CreateNoWindow = true;
pro.Start();
其中str1,strT1,strT2,strSelect均以赋值,问题是要调用的exe文件只能检测到str[]的参数,即要求定义一个string[] str=new str[4],分别把str1,strT1,strT2,strSelect四个参数存入四个单元来传递,但是这个调用程序中只能传递字符串型的参数,请问,怎么改程序啊?如果有别的什么方法,如何实现调用呢??高手,帮帮忙啊!!

解决方案 »

  1.   

    把string[]的参数改为string型,然后在程序中转换为string[]
      

  2.   


            Dim dd As New System.Diagnostics.ProcessStartInfo
            dd.FileName = Me.GetFPPath & "\bin\fjextrc.exe"
                
                dd.Arguments= " /UID=ADMIN /PWD=ADMIN /DSN=threebond /CID=10196 /QDN=SiteQuery /LOG=c:\test.log c:\site.csv"
                Process.Start(dd)
      

  3.   

    static void Main(string[] args)
    {
      //取此处的args就是传输入的参数
    }
      

  4.   

    那个程序不能改啊!已经封装好了的exe文件
      

  5.   

    用你上面的pro.StartInfo.Arguments = str1 +" "+ strT1+" " + strT2 + " " + strSelect;
    就可以了,exe的main会自己把这个参数属性转化成string数组。不知道是否是这个问题?
      

  6.   

    同意,main函数就是这样接收参数的