博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java调用大漠插件
阅读量:2216 次
发布时间:2019-05-07

本文共 1266 字,大约阅读时间需要 4 分钟。

发现很多人在问java怎么调用大漠插件,自己研究了下,写篇博文分享下,大牛请忽略。

这其实是一个java调用dll的问题,于是去查了下java如何调用dll,最先查到的是通过jni,发现非常麻烦,接着又发现一个jar包jna,实验了下发现不行,dm.dll属于com类型的插件,又查到一个jacob包专门调用com。但是有点不完美的是目前不知道如何免注册调用。欢迎加群探讨更多java相关的技术qq群:522163363

一、环境

dm.dll版本3.1233

系统环境win10

jdk1.8 (win32)

jacob-1.17(包含  jacob.jar、jacob-1.17-x64.dll、jacob-1.17-x86.dll) 下载地址 https://sourceforge.net/projects/jacob-project/files/jacob-project/

开发工具idea

二、版本说明

dm.dll是win32编译的所以这边jdk要用x86的,jacob也要用x86。

首先将下载好的jacob中的jacob-1.17-x86.dll  拷贝到jdk目录 C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin 

接着工程目录引入jacob .jar包这个一定要跟dll配套

接着 将dm.dll注册到系统,环境问题是个坑,因为系统问题,得先把dm.dll拷贝到C:\Windows\SysWOW64目录下,然后右键用管理员模式运行cmd.exe  进入目录C:\Windows\SysWOW64 注册dm.dll ,命令regsvr32 dm.dll 这样才能注册成功。

然后新建个类 DmTest.java

import com.jacob.activeX.ActiveXComponent;import com.jacob.com.Dispatch;import com.jacob.com.Variant;/** * Created by admin on 2018/5/31. */public class DmTest {    public static void main(String[] args) {        ActiveXComponent dm = new ActiveXComponent("dm.dmsoft");        System.out.println(dm.invoke("Ver").getString());        Dispatch com = (Dispatch) dm.getObject();        Variant result = Dispatch.call(com, "FindWindow" , "" , "记事本");        System.out.println(result);    }}

打开一个记事本,右键运行DmTest就可以看到控制台打印输出版本号和记事本句柄

 

你可能感兴趣的文章
LightGBM 如何调参
查看>>
用 TensorFlow.js 在浏览器中训练神经网络
查看>>
cs230 深度学习 Lecture 2 编程作业: Logistic Regression with a Neural Network mindset
查看>>
梯度消失问题与如何选择激活函数
查看>>
为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例
查看>>
为什么在优化算法中使用指数加权平均
查看>>
什么是 Q-learning
查看>>
用一个小游戏入门深度强化学习
查看>>
5 分钟入门 Google 最强NLP模型:BERT
查看>>
初探Java设计模式4:一文带你掌握JDK中的设计模式
查看>>
初探Java设计模式5:一文了解Spring涉及到的9种设计模式
查看>>
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
查看>>
Java集合详解2:一文读懂Queue和LinkedList
查看>>
Java集合详解3:一文读懂Iterator,fail-fast机制与比较器
查看>>
Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题
查看>>
Java集合详解5:深入理解LinkedHashMap和LRU缓存
查看>>
Java集合详解6:这次,从头到尾带你解读Java中的红黑树
查看>>
Java集合详解8:Java集合类细节精讲,细节决定成败
查看>>
Java并发指南1:并发基础与Java多线程
查看>>
Java并发指南2:深入理解Java内存模型JMM
查看>>