日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java怎样调用DLL方法

發布時間:2024/1/23 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java怎样调用DLL方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前段時間項目需要使用調用DLL來控制POS機外設,如錢箱和小票打印機、顧客顯示屏等,于是,我便開始了java調用DLL中的方法的探索,事實上,網上的例子還是很多的,一些外部包的例子也有很多,但每個人的實際情況都有所不同,盡管只是一個很簡單的調用,也花了我不少時間,在這里分享一下我的經驗吧。

??? 我是通過一個外部的JAR包來間接來獲得DLL文件的句柄 的,它就是jacob了,這是java com brige的簡寫,呵呵, 這個名稱起得非常形象吧,我用的版本是jacob 1.9的,你可以到它的官方網站去下載,下載回來的壓縮包中會有兩個文件我們需要用到的,一個是jacob.dll,一個是jacob.jar,jacob.dll可以將它復制到系統的system32目錄下,而jacob.jar文件,直接將它加入到項目的庫中就可以了。這兩項準備工作完成后,就可以開始嘗試調用了。

??? 新建一個類,引入jacob.jar中的兩個類,

import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch;


然后通過dll的ControllerId來讀取DLL文件

public class Print {private ActiveXComponent printController = null;private Dispatch printObj = null;/*** 默認controllerId的方法*/public Print(){try{printController = new ActiveXComponent("POSControler.Controler");printObj = (Dispatch)printController.getObject();}catch(Exception e){printObj = new Dispatch();//Common.alert(e.getMessage(),"讀取終端控制DLL失敗");}} }


這樣就可以獲得DLL文件的句柄了,那怎樣調用里面的方法呢?

如果方法dll中的方法是空參數時,直接call一下就可以了,如

Dispatch.call(printObj,"setDefaultFont");

而調用有參數的方法時,則需要將參數在后面依次傳入,注意按順序噢:

Dispatch.call(printObj,"show",value,type);

?

總結

以上是生活随笔為你收集整理的java怎样调用DLL方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。