转 java调用com组件方法
来源:互联网 发布:怎么安装解压软件 编辑:程序博客网 时间:2024/06/01 10:44
对照vb代码实现java调用com组件方法
2009-03-02 14:39
1.简介
java调用com组件方法,最简单的方法莫过于使用jacob控件。
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
jacob的安装非常的简单,我们解开下载的jacob_1.9.zip,在文件夹中找到jacob.dll和jacob.jar两个文件。jacob直接放到系统的system32文件夹下就行了,连注册都不用的(或者拷贝到jdk或者jre的bin目录下也行,当前测试文件所在的目录也行,就是只要在java.library.path中就可以)。而jacob.jar设置到classpath中去就可以了,或者在ide开发环境的工程中设置扩展库也一样的。
2.对照vb的代码
举例:发送一个普通的消息到办公平台大蚂蚁
dim session, msg,logininfo
set msg = createobject("antcom.antmsg")
set session = createobject("antcom.antsyncsession")
set logininfo = createobject("antcom.antlogininfo")
msg.subject = "start" '消息的标题
msg.content = "hi, im admin" '消息的内容
msg.addreceiver "user" , "" '消息接收者,如果要发给多个人可以从次调'用 addreceiver
msg.contenttype = "text/text" '消息内容的格式
logininfo.server = "127.0.0.1" 'bigant 的服务器地址
logininfo.serverport = 6080 'bigant 的服务端口
logininfo.loginname = "admin" '消息发送者的 loginname
logininfo.password = "" '消息发送者的 password
session.login logininfo '登录
session.sendmsg msg, 0
3.分析
由上vb代码可以看出,分三步操作。首先利用createobject("antcom.antmsg")初始化activex对象,然后设置各对象的属性值,例如msg.content = "hi, im admin",最后再调用对象的方法session.sendmsg msg, 0。很简单,设置属性值就是那种带=号的语句,不带=号就是方法操作。
4.对应java代码
我们也分三步走。第一步,创建activex对象,在创建之前引入 com.jacob.activex.*; com.jacob.com.*;二个包。然后再创建对象activexcomponent smsg = new activexcomponent("antcom.antmsg");在java中,多有一步,必须dispatch msg = smsg.getobject();处理才能真正得到该activex对象,才能对它进行操作。
第二步,设置对象属性。对应3中的举例msg.content = "hi, im admin",对应的java语句就是dispatch.put(msg,"content","hi,i'm admin")。
第三步,调用对象方法。对应3中的举例session.sendmsg msg, 0,对应的java语句就是dispatch.call(ses, "sendmsg",msg,0);
5.完整的代码。上面2中举例的所有vb代码,转成java就是:
package test;
import com.jacob.activex.*;
import com.jacob.com.*;
public class test {
public static void main(string[] args){
activexcomponent smsg = new activexcomponent("antcom.antmsg");
activexcomponent sses = new activexcomponent("antcom.antsyncsession");
activexcomponent sinfo = new activexcomponent("antcom.antlogininfo");
dispatch msg = smsg.getobject();
dispatch.put(msg,"subject","start");
dispatch.put(msg,"content","hi,i'm administrator");
dispatch.call(msg,"addreceiver", "user","");
dispatch.put(msg,"contenttype","text/text");
dispatch info = sinfo.getobject();
dispatch.put(info,"server","127.0.0.1");
dispatch.put(info,"serverport",6080);
dispatch.put(info,"loginname","admin");
dispatch.put(info,"password","");
dispatch ses = sses.getobject();
dispatch.call(ses, "login",info);
dispatch.call(ses, "sendmsg",msg,0);
}
}
呵呵。到这里就全部ok了。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
- 转 java调用com组件方法
- java调用com组件方法
- java 如何调用com组件接口方法
- 调用COM组件方法
- COM组件调用方法
- java 调用 com组件
- JAVA调用COM组件
- java调用com组件
- 调用COM组件的方法
- C# 制作Com组件:java调用.net DLL的方法
- java 调用 com 组件 随笔
- Java调用COM组件 JACOB
- Java调用dll Java调用COM组件
- vc中调用Com组件的方法详解(转)
- VC中调用COM组件的方法
- Delphi6调用COM组件的方法
- VC中调用Com组件的方法
- COM组件的调用方法总结
- java学习笔记-java基础1
- Java那些事:Java 7、JavaFX 2.0以及Vaadin框架(转)
- 为什么要配置JAVA的path呢?
- Java编程和C或C++ 相比,个人观点
- 使用自定义属性实现Java和.net的XML序列化
- 转 java调用com组件方法
- 在Java中如何表示钱Money?
- java 开发工具介绍
- [置顶]《与Java相恋》(初级篇)二-内部类
- Java虚拟机内存的堆区(heap),栈区(stack)和静态区(static/method)
- java线程模型
- javascript书籍推荐
- 【转】几个Java的网络爬虫
- 求java学习推荐几本书