浏览 5202 次
锁定老帖子 主题:在Java调用VB编写的Dll文件
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-15
在公司里,不同的系统使用不能的语言非常正常,我曾经在一个公司就职,原先的博客系统使用asp编写的,里面有很多dll文件,在asp里,可直接调用dll文件,非常简单,但由于系统升级后,都统一使用了Java,那么原先编写的很多模块(封装在dll里的)就都不能用了,但有一个加密算法还非得在客服系统里用到(因为新旧系统要并行运行一段时间,客服系统必须同时能管理新旧两大系统),那么如何在Java中调用VB编写的Dll文件呢?代码如下: import com.jacob.com.*; import com.jacob.activeX.*; public class VbdllCall { public static String md5CallVbdll(String str){ String res=""; try { ActiveXComponent pp = new ActiveXComponent("md5.Class1"); Dispatch myCom = (Dispatch) pp.getObject(); //生成一个对象 Variant result = Dispatch.call( myCom, "MD5", str) ; res=result.toString(); }catch (Exception e) { res=""; e.printStackTrace(); } return res; } } 这里使用到了Jacob包,有兴趣的读者可以Google一下,深入的了解一下这个Jacob包 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-10-15
不用javah?
|
|
返回顶楼 | |
发表时间:2008-10-16
MD5算法?commons-codec里有啊,自己写也不麻烦的,java api自带
|
|
返回顶楼 | |
发表时间:2008-10-17
要是调用vba呢?那怎么写?
|
|
返回顶楼 | |
发表时间:2008-10-17
lc4ever 写道 MD5算法?commons-codec里有啊,自己写也不麻烦的,java api自带 只是把名字取成了MD5而已,其实是公司内部写的对称加密算法 |
|
返回顶楼 | |
发表时间:2008-10-17
呵呵,偶一直用delphi来写dll操作硬件,为java提供服务.
在java里通过jndi来操作.生成dll的export方法是有一定格式的,比如java_包名_方法名,不知道你的vb是不是也是这样,到网上搜下吧 |
|
返回顶楼 | |
发表时间:2008-10-17
duronshi 写道 呵呵,偶一直用delphi来写dll操作硬件,为java提供服务. 在java里通过jndi来操作.生成dll的export方法是有一定格式的,比如java_包名_方法名,不知道你的vb是不是也是这样,到网上搜下吧 我也经常使用JNI技术这么做的,有时候偷别人的dll就通过一个工具(忘记叫什么了),他能列出dll里所有export的函数和参数定义,很好用,但那时候针对vb写的dll好像没调用成功,就用了网上这个开源的jar了,结果发现他很好用,呵呵 |
|
返回顶楼 | |