`
mr.a
  • 浏览: 93470 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

什么是JACOB

阅读更多
什么是JACOB


JACOB是一个JAVA和COM之间的桥接口。它使得你可以在Java中自动控制COM组件。它使用JNI通过本地调用COM和Win32程序接口。

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

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

JACOB的语法

如果你想写一个JAVA代码,其中需要调用JACOB提供的功能,而你还是新手,也许篇文章会大大降低你的花费时间。

下面是一个关于JACOB的代码分成的几个步骤:

1) ActiveXComponent ax = new ActiveXComponent("a1");//构建ActiveX组件实例

其中的a1的值和你需要调用的ActiveX控件有关

2) Dispatch ds = ax.getObject()。 toDispatch();//获取Dispatch对象,我们可以把每个Dispatch对象看成是对Activex控件的一个操作,这一步是获得该ActiveX控件的控制权。

(注:浅析JACOB 中提到过Variant类,这里的ax.getObject()便是获得该对象,我们将其转化为任何对象(类型))

3) Dispatch ds1 = Dispatch.get(ds, "a2")。toDispatch(); //获取该ActiveX对象数据结构中的a2属性

4) Dispatch d2 = Dispatch.invoke(ds1, "a3", a4, a5, a6)。toDispatch(); //功能调用,对ActiveX对象ds1的a3属性执行a4(Dispatch.Put\Dispatch.Get等)操作,执行后a3的值为 a5,a6为错误参数码常定义为new int[1],(注:call、get和put方法都是通过该方法实现的)

5) Dispatch ds2 = Dispatch.put(ds, "a7","a8")。toDispatch();//将ActiveX对象ds的属性a4的值设置为a5,该方法返回类型同get一样

6) Dispatch ds3 = Dispatch.call(ds1, "a9", a10);//该方法和get方法非常类似,他是把a9属性赋值给a10

Ok其他的方法我觉得很容易理解,这里就不再做描述了。
分享到:
评论

相关推荐

    jacob-1.18.zip + jacob-1.19.zip + jacob-1.20.zip 最新版本(包含dll文件)

    1.将jacob-1.18.zip下载解压,在文件夹中找到jacob-1.18-x64.dll,jacob-1.18-x86.dll,jacob.jar 2.通过 pom.xml 新增 <groupId>com.hynnet</groupId> <artifactId>jacob <version>1.18 3. 如果是32位系统...

    jacob1.18源码和jar包

    JACOB里的总共有两个包: com jacob activeX:JACOB可以通过它调度(Dispatch)activeX 控件 com jacob com:JACOB通过它调用系统DLL (activeX是由微软公司推出的用于Internet的技术 以前曾经被称为OLE 和OCX...

    jacob1.9 jacob1.12 jacob1.14

    jacob1.9 jacob1.12 jacob1.14内附使用说明和三个jar包,由于不同机器适应不同版本,所以打包三个任你选!

    使用JACOB工具调用COM组件

    本书使用的是jacob1.7,从如下网址可下载得到: http://danadler.com/jacob/  但是使用JACOB可以先编写COM组件,再在Java中调用,这在许多遗留在系统中COM组件是常用的,因此,使用JACOB对于系统的集成是比较实用的...

    jacob1.19(包含jacob-1.19-x64.dll和jacob-1.19-x86.dll)

    jacob1.19(包含jacob-1.19-x64.dll和jacob-1.19-x86.dll)

    com.jacob.jacob_1.10jar包下载.zip

    com.jacob.jacob_1.10jar包下载

    jacob-1.17-M2

    jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob-1.17-M2jacob...

    jacob 1.20 jacob-1.20-x64.dll jacob-1.20-x86.dll

    jacob.jar1.20及使用方法 解压后获得3个文件 jacob.jar jacob-1.20-x64.dll jacob-1.20-x86.dll 包含(32位,64位)以及文档 jacob(java com bradge) 通过调用MS OFFICE可以快捷的将word excel ppt等转换为pdf

    jacob.jar1.19及使用方法

    jacob.jar1.19及使用方法 解压后获得3个文件 jacob.jar jacob-1.17-x64.dll jacob-1.17-x86.dll jacob.jar 放到项目的lib目录 win7 jacob-1.17-x64.dll 放到C:\Windows\System32 jacob-1.17-x86.dll 放到C:\...

    jacob.jar以及jacob.dll文件

    java操作office的jar包,其中jacob.jar放在项目jar文件夹中,jacob.dll放在C:\Windows\System32文件夹下

    jacob1.7+1.9

    组合理由引用:“为什么又有1.7又有1.9呢,是因为1.7的jacob.dll不好用,1.9的jacob.dll配合1.7的jacob.jar就好用了,我也不知道为什么,呵呵,关于java的一些开源jar的版本问题一直很困扰我” 安装:将jacob.dll放...

    jacob-1.18.jar/dll maven

    jacob-1.18的资源包还有 jacob-1.18-x64.dll和jacob-1.18-x86.dll. 把对应的windows版本扔到 C:\Windows\System32 并添加环境变量大到path中 “%SYSTEMROOT%\System32\jacob-1.18-x86.dll;”或者 “%SYSTEMROOT%\...

    jacob语音生成文件,jacob x64.dll和jacob.jar 为1.9

    jacob 1.9语音生成文件,jacob x64.dll和jacob.jar 版本为1.9。 jacob.dll放入 C:\Program Files\Java\jdk1.8.0_121\jre\bin jacob.jar通过idea配置到项目dependencies

    com.jacob jar包

    com.jacob jar包

    jacob(包含jacob-1.19-x64.dll和jacob-1.19-x86.dll)

    jacob1.19(包含jacob-1.19-x64.dll和jacob-1.19-x86.dll)

    jacob(jacob.dll,jacob.jar)

    jacob.dll,jacob.jar下载

    jacob操作word(超详细)

    1、把jacob.dll文件,复制到 windows\system32 目录下。(注:我用的时候这个方法不能运行) 2、 把jacob.dll放入 Java\jdk1.5.0_06\jre\bin目录下.把jacob.jar放入 Java\jdk1.5.0_0\jre\lib\ext 目录下.可以正常...

    jacob各个版本好用

    java中 jacob各个版本jacob的jar及相应的dll文件,能适应各种jdk

    最新版jacob 1.20.jar jacob-1.20-x64.dll jacob-1.20-x86.dll

    2020最新版jacob 1.20.jar jacob-1.20-x64.dll jacob-1.20-x86.dll

    jacob1.18源码+jar包

    JACOB里的总共有两个包: com jacob activeX:JACOB可以通过它调度(Dispatch)activeX 控件 com jacob com:JACOB通过它调用系统DLL (activeX是由微软公司推出的用于Internet的技术 以前曾经被称为OLE 和OCX...

Global site tag (gtag.js) - Google Analytics