JACOB调用控件函数
背景介绍:
使用JAVA程序,实现对系统已安装控件方法的调用。
JACOB下载地址:http://danadler.com/jacob/
使用方法:
1.将jacob.jar添加到项目工程中
2.将jacob.dll复制到以下文件夹内:
C:\WINDOWS\system32
%JAVA_HOME%\bin
3.代码调用
/**此方法实现调用控件方法弹出本机已安装证书列表*/
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
public class PdfSeal {
/** * @param args */
public static void main(String[] args) {
// 创建ActiveX控件对象,可以使用CLSID,也可以使用ProgID (clsid是已安装控件的id)
ActiveXComponent activeX = new ActiveXComponent("clsid:F7101FFF-55C7-4ECC-903E-C1D8417507D1");
// MS级别的调度对象
Dispatch dispath = (Dispatch) activeX.getObject();
// 调用控件方法(第二个参数为控件函数名称,第三个参数起均为控件函数所需参数,需要几个传入几个即可)
Dispatch.callSub(dispath, "SelectCertificate", "", "", "");//无返回值
boolean result = Dispatch.call(dispath, "SelectCertificate", "", "", "").getBoolean();//有返回值,返回值是什么类型就通过get方法获得即可
System.out.println(result);
}
}
4.参考信息
http://www.danadler.com/jacob/
http://www.ibm.com/developerworks/cn/java/j-lo-jacob/
http://j2eemylove.iteye.com/blog/906842
http://blog.csdn.net/daditao/article/details/25045815
JACOB调用控件函数的更多相关文章
- C#跨窗体调用控件(委托回调函数使用例子)
问题: 有两个窗体,FORM1(含一个label控件,一个名为显示form2的button控件)和FORM2(含一个button控件).启动时,FORM1中点击button控件显示form2使FORM ...
- Android 使用代码主动去调用控件的点击事件(模拟人手去触摸控件)
使用代码主动去调用控件的点击事件(模拟人手去触摸控件) //View 可以是LinearLayout,Button,TextView View.performClick();
- C# 跨线程调用控件
在C# 的应用程序开发中, 我们经常要把UI线程和工作线程分开,防止界面停止响应. 同时我们又需要在工作线程中更新UI界面上的控件, 下面介绍几种常用的方法 阅读目录 线程间操作无效 第一种办法:禁 ...
- 《zw版·delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版
<zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就 ...
- 《zw版·delphi与halcon系列原创教程》zw版_THImagex控件函数列表
<zw版·delphi与halcon系列原创教程>zw版_THImagex控件函数列表 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核心控件就是两 ...
- emwin之错误使用控件函数导致死机现象
@2018-10-15 导致死机的代码示例如下 /** * @brief widget ID define * @{ */ #define ID_WINDOW_0 (GUI_ID_USER + 0x0 ...
- winform多线程调用控件
对多线程操作控件的理解: 控件不能被非创造他的线程修改.需调用控件.beginvoke,注入UI线程.控件.beginvoke会把操作加入UI线程,阻塞画面响应.不要把耗时的计算放在控件.beginv ...
- 【转载】C# 跨线程调用控件
转自:http://www.cnblogs.com/TankXiao/p/3348292.html 感谢原作者,转载以备后用 在C# 的应用程序开发中, 我们经常要把UI线程和工作线程分开,防止界面停 ...
- C# 跨线程调用控件的4中方法
原文:C# 跨线程调用控件 在C# 的应用程序开发中, 我们经常要把UI线程和工作线程分开,防止界面停止响应. 同时我们又需要在工作线程中更新UI界面上的控件, 下面介绍几种常用的方法 阅读目录 线 ...
随机推荐
- Residual Networks <2015 ICCV, ImageNet 图像分类Top1>
本文介绍一下2015 ImageNet中分类任务的冠军--MSRA何凯明团队的Residual Networks.实际上.MSRA是今年Imagenet的大赢家.不单在分类任务,MSRA还用resid ...
- ES线程池设置
每个Elasticsearch节点内部都维护着多个线程池,如index.search.get.bulk等,用户可以修改线程池的类型和大小,线程池默认大小跟CPU逻辑一致 一.查看当前线程组状态 cur ...
- Linux下grub的配置文件
GRUB(统一引导装入器)是基本的Linux引导装入器. 其有四个作用,如下: 1.选择操作系统(如果计算机上安装了多个操作系统). 2.表示相应引导文件所在的分区. 3.找到内核. 4.运行初始内存 ...
- linux系统定时任务crond入门
1,Crond: Crond是linux系统中用来定期执行命令或指定程序任务的一种服务或者软件.(Centos5以后默认存在) 当优化开机自启动的时候,第一个就是crond. Crond服务默认情况( ...
- HTML的常用标签属性及使用时需注意的一些细节
前言 本篇随笔的主要是复习一下常用的一些HTML(Hyper Text Markup Language)标签及其属性,并总结一些使用过程中需要注意的一些细节,本篇提及的常用标签主要有: iframe标 ...
- POJ 3694 Network(Tarjan求割边+LCA)
Network Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 10969 Accepted: 4096 Descript ...
- dev c++与VC assist的杂记
最近要处理一些数据,于是把旧本拿出来用用.但是发现旧本运行速度很慢. 分析之后发现是瑞星的老版本程序里面加了游戏的云存储节点的注册表键.果断把该键删了之后,CPU使用率从66%以上降到24%左右. 然 ...
- Android 实现下拉刷新和上拉加载更多的RECYCLERVIEW和SCROLLVIEW
PullRefreshRecyclerView.java /** * 类说明:下拉刷新上拉加载更多的RecyclerView * Author: gaobaiq * Date: 2016/5/9 18 ...
- 响应式流API的构建基础
下面三个重要的概念是响应式流API的构建基础: 发布者是事件的发送方,可以向它订阅. 订阅者是事件订阅方. 订阅将发布者和订阅者联系起来,使订阅者可以向发布者发送信号. http://www.info ...
- 函数式编程-只用"表达式",不用"语句"()
把函数当作普通的运算符使用. 2. 只用"表达式",不用"语句"() "表达式"(expression)是一个单纯的运算过程,总是有返回值: ...