Java 通過 jacob調用OCX控件


安裝好要調用的ocx驅動,並通過注冊表查詢其對應的clsid。

下載jacob-1.18解壓,將jacob-1.18-x86.dll文件復制到D:\Program Files (x86)\Java\jdk1.8.0_101-32\jre\bin目錄。

經測試發現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"));
        
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM