本人想实现下面的功能。在java Blogic里调用vb.net 开发的exe应用程序.
还有传一些数据.我现在用了java.lang.Runtime 的exec函数来调用起来的话,画面能起来,但数据传不过去.
如:
            Runtime netExe = Runtime.getRuntime();
            netExe.exec("C:\\WindowsApplication1.exe");如果这个方法行不通的话,指教别的方法.
谢谢.

解决方案 »

  1.   

    netExe.exec("C:\\WindowsApplication1.exe");改为netExe.exec("start /c C:\\WindowsApplication1.exe");
      

  2.   

    本人通过下面的代码
      Runtime netExe = Runtime.getRuntime();
      netExe.exec("C:\\WindowsApplication1.exe");画面是能调用.问题是调用的同时再传aaa的数组...  Runtime netExe = Runtime.getRuntime();
      netExe.exec("C:\\WindowsApplication1.exe",aaa);但这样改画面调用不起来. 请指教.
      

  3.   

    我已经发现参数问题..String[] aaa = {"1","2"};  Runtime netExe = Runtime.getRuntime();
      netExe.exec("C:\\WindowsApplication1.exe",aaa);改成
      Runtime netExe = Runtime.getRuntime();
    netExe.exec("cmd /c C:\\WindowsApplication1.exe",null);画面正常调用起来....我想把aaa的东西传递过去(数组不行的话,改成别的类型也行.)请指教.该怎么改????
      

  4.   

    在命令行传参数是不是应该用main方法中的args的?
      

  5.   


    你说的是在vb的main函数里???
    那里已经写了呀...
      

  6.   

    你说的是在vb的main函数里???
    那里已经写了呀...
      

  7.   


    exec函数的第二个参数必须要数组才行...
    APIexec
    public Process exec(String command,
                        String[] envp)
                 throws IOException在指定环境的单独进程中执行指定的字符串命令。 
    这是一个很有用的方法。对于 exec(command, envp) 形式的调用而言,其行为与调用 exec(command, envp, null) 完全相同。 
    参数:
    command - 一条指定的系统命令。
    envp - 字符串数组,其中每个元素的环境变量的设置格式为 name=value;如果子进程应该继承当前进程的环境,或该参数为 null。 
    返回:
    一个新的 Process 对象,用于管理子进程 
      

  8.   

    楼主,你试着在你的VB程序里找找原因呢,传过去的数组参数,在你的VB程序里是否需要进行转换?转换结果又如何?