java访问com组件

80酷酷网    80kuku.com

  访问
作者:Junsan Jin



日期:2005-4-14



版本:1.0



信箱:junsan21126.com ; junnef21sohu.com



Blog:http://blog.csdn.net/junnef



声明:本人保留本文的所有权利。如需引用请保留此信息。




 


一、准备工作



         先了解一下概念,JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,也是通过JNI功能访问windows平台下的com组件或者win32系统库的。这是一个开始于1999年的开源项目的成果,有很多使用者对该项目进行了修改,做出了自己的贡献。



         最好的支持地点:http://groups.yahoo.com/group/jacob-project



         Jacob下载地址:



http://sourceforge.net/project/showfiles.php?group_id=109543&package_id=118368



这里下载的是目前最新的Jacob1.9的Release版。



二、安装Jacob



         Jacob的安装非常的简单,我们解开下载的jacob_1.9.zip,在文件夹中找到jacob.dll和jacob.jar两个文件。Jacob直接放到系统的system32文件夹下就行了,连注册都不用的(或者拷贝到jdk或者jre的bin目录下也行,当前测试文件所在的目录也行,就是只要在java.library.path中就可以)。而jacob.jar设置到classpath中去就可以了,或者在IDE开发环境的工程中设置扩展库也一样的。



         做好上面的工作,就可以正常使用了。



三、实例演示



创建下面的测试文件:




 


////////////////////////////////////////////////



//AppTest.java



///////////////////////////////////////////////



import com.jacob.com.*;



import com.jacob.activeX.*;




 


public class AppTest



{



  public static void main(String[] args)



  {



       // create COM component in event thread



       ActiveXComponent sC = new ActiveXComponent("ScriptControl");



       Dispatch sControl = sC.getObject();       



    Dispatch.put(sControl, "Language", "VBScript");




 


    // use COM component in same thread



    Variant v = Dispatch.call(sControl, "Eval", args[0]);



    System.out.println(v.toString());



  }



}




 


打开命令行模式,到java文件所在的目录,键入命令:




 


javac AppTest.java



java AppTest 1+2*3




 


输出结果将会是:



7




 

入门了就简单了,更多的东西都去我们解开的文件夹下的doc包中看文档吧,这里就不多讲了,最主要的是弄清类库的作用和使用方法就行了。以后有时间我再



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: