用jacob, 可以调用activex, 以及vb写得dll, 具体地址我忘了, 到google找一下吧。 上次我就是用它实现得。

解决方案 »

  1.   

    找到了jacob,还没研究明白怎么用。
    哪位能指点一下啊!
    要实现的功能很简单,只要能调用VB写的Dll就可以了。
      

  2.   

    也可以用jni调用dll,不过jni生成的是c的框架,在c程序中调dll就可以了。dll是什么写的没关系。
      

  3.   

    憋作抛砖引玉.
    http://www.csdn.net/develop/read_article.asp?id=15311
      

  4.   

    我折腾好久了。现在的解决方案是通过jni调C++写的DLL,在C++中再调VB.
      

  5.   

    DLL 本来就是一种COM技术不分VC的还是VB的,他本来讲的就是暗盒使用。肯定可以的,和VC一样的用,估计是你设置错了,或Java找不到该XXX库(XXX.DLL)。我没试过VB的DLL,理论上一样的。
      

  6.   

    VB写的Com组件和DLL动态链接库和C的是一样的,如果你确定你的程序没错的话,你可以用C++写一个DLL,在它里面调用VB的DLL,网上有很多工具都可以下,但都不太好用,其实自己写也很简单,用JNI什么都可以实现
      

  7.   

    不是的,jni里介绍用VC写的时候还要include进去jdk里的.h文件,要是用VB肯定没有.h文件了,估计不行。不过用VC调用VB的Dll还是一个不错的主义。
      

  8.   

    楼上的大哥,jni生成的.h是为了你写dll用的,你有了dll,就不用那些.h文件了。
      

  9.   

    有谁调用VB的dll成功过,能给段成功的代码例子吗?
    哪怕是hello world!的例子也可以啊!
      

  10.   

    1.Project1/Class1:
    Function SayHello() As String
     SayHello = "Hello World"
    End Function
    Compile and generate Project1.dll
    2.Exam_5.java:
    import com.jacob.com.*;
    import com.jacob.activeX.*;public class Exam_5
    {
      public static void main(String[] args)
      {
        ActiveXComponent pp = new ActiveXComponent("Project1.Class1");
        try {
    System.out.println(Dispatch.call(pp, "SayHello"));
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
    H:\Majix-1_2_2_full\sample>javac -classpath jacob.jar Exam_5.java
    H:\Majix-1_2_2_full\sample>java -cp jacob.jar;. Exam_5
    Hello World
    具体细节可以参阅http://www.csdn.net/develop/read_article.asp?id=15311
      

  11.   

    呵呵,为什么要调用Windowsd的DLL呢?你选用JAVA开发的目的是什么?
      

  12.   

    唉!这不简单吗?自己用C/C++做个Dll,这个Dll再调用VB写的Dll。
      

  13.   

    C/C++和VB生成的DLL没有区别
    错!
    C/C++生成的是标准的DLL,而vb不能生成标准的DLL,而是ActiveX Com库,必须按照Com的方法调用