zoukankan      html  css  js  c++  java
  • Java 通过 jacob调用OCX控件

    安装好要调用的ocx驱动,并通过注册表查询其对应的clsid。

    下载jacob-1.18解压,将jacob-1.18-x86.dll文件复制到D:Program Files (x86)Javajdk1.8.0_101-32jrein目录。

    经测试发现jdk64位会有问题,在这里使用32位进行测试。

    例1:调用不带参数的函数

    (1)控件中的函数描述

    Public Sub CheckKey()
    
    功能:检测USBKEY是否已插入。
    
    输入:无
    
    输出:
    
        ErrCode:        0:KEY已插好; 非0:KEY未插好。
    
        ErrMsg:         提示信息。

    (2)调用方法

    public static void main(String[] args) {
            ActiveXComponent com = new ActiveXComponent("CLSID:xxx") ;
            Dispatch disp = com.getObject();
            
            Dispatch.callSub(disp, "CheckKey");
            
            System.out.println(Dispatch.get(disp, "ErrCode"));
            System.out.println(Dispatch.get(disp, "ErrMsg"));
            
        }

    例2:调用带参数的方法

    (1)控件中的函数描述

    Public Sub OpenDeviceEx(String strPassword)
    功能:打开密码设备(USBKEY)。
    输入:
    strPassword        打开加密设备需要的口令字,如缺省,则不验证口令。
    输出:
    errCode            错误码,成功时为0,其它为错误。
    errMsg            错误信息。

    (2)调用方法

    public static void main(String[] args) {
            ActiveXComponent com = new ActiveXComponent("CLSID:XXXX") ;
            Dispatch disp = com.getObject();
            
            String strPassword = "xxxxx";
            Dispatch.callSub(disp, "OpenDeviceEx", new Variant(strPassword));
            
            System.out.println(Dispatch.get(disp, "ErrCode"));
            System.out.println(Dispatch.get(disp, "ErrMsg"));
            
        }
  • 相关阅读:
    mysql中InnoDB存储引擎的行锁和表锁
    阿里云出海 埃森哲护航
    阿里云出海 埃森哲护航
    阿里云出海 埃森哲护航
    阿里云出海 埃森哲护航
    Python开发简单爬虫
    Python开发简单爬虫
    Python开发简单爬虫
    Python开发简单爬虫
    问大家一个问题,如何用1万元创业,每天利润达到500元?
  • 原文地址:https://www.cnblogs.com/yshyee/p/7883498.html
Copyright © 2011-2022 走看看