Java使用jocab调用COM组件

本文介绍了如何使用Java的jocab库调用COM组件,包括jocab的简介、部署步骤、注册COM组件的方法以及Java代码示例。通过jocab,开发者可以在Java程序中方便地与COM自动化组件交互,实现数据的交互和方法调用。
摘要由CSDN通过智能技术生成

Java使用jocab调用COM组件

最近工作上遇到了要调用COM组件获取信息的问题,总结一些如何使用Java调用COM组件。

(一开始对方发来的是.dll文件,我以为是sdk,一直用JNA来调用,发现一直失败。后来对方发来的测试文件中有一个注册组件,才发现原来是要现将.dll文件注册到COM组件中,然后再调用其COM组件)

由于网上关于JAVA调用COM组件的文章很少,很多问题都是查了很多资料才解决的,就把自己遇到的问题总结一下。

先来说一下什么是jocab。

jocab简介

Jacob是Java与COM组件桥接的缩写,即JAVA-COM Bridge。通过使用Jacob类库,我们可以很方便地在Java程序中调用COM自动化组件。也就是说jocab是java和COM组件的中间件。

jacob中最重要的几个类:

  • ActiveXComponent类:继承Dispatch类,在内部封装了Dispatch对象,使用该类加载COM组件。
  • Dispatch类:代表COM自动化组件中的对象,提供了访问COM对象的API。
    • Dispatch.get(dispatch, String name);获取对象属性
    • Dispatch.put(dispatch, String name, Object value);设置对象属性
    • Dispatch.call(dispatch, String name, Object… args);调用对象方法
  • Variant类:映射COM对象中的Variant数据结构,提供Java和COM的数据交互。其本质就是一种数据类型,可以被转换成任何数据类型,如int,String,甚至Dispatch对象。

jocab的部署

先将jacob.jar添加到lib中,如果是maven工程,在pom.xml中写入依赖

<dependency>
    <groupId>com.hynnet</groupId>
    <artifactId>jacob</artifactId>
    <version>1.18</version>
</dependency
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值