`
kongshanxuelin
  • 浏览: 925444 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

在Java调用VB编写的Dll文件

阅读更多

在公司里,不同的系统使用不能的语言非常正常,我曾经在一个公司就职,原先的博客系统使用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包

分享到:
评论
6 楼 kongshanxuelin 2008-10-17  
duronshi 写道

呵呵,偶一直用delphi来写dll操作硬件,为java提供服务.
在java里通过jndi来操作.生成dll的export方法是有一定格式的,比如java_包名_方法名,不知道你的vb是不是也是这样,到网上搜下吧

我也经常使用JNI技术这么做的,有时候偷别人的dll就通过一个工具(忘记叫什么了),他能列出dll里所有export的函数和参数定义,很好用,但那时候针对vb写的dll好像没调用成功,就用了网上这个开源的jar了,结果发现他很好用,呵呵
5 楼 duronshi 2008-10-17  
呵呵,偶一直用delphi来写dll操作硬件,为java提供服务.
在java里通过jndi来操作.生成dll的export方法是有一定格式的,比如java_包名_方法名,不知道你的vb是不是也是这样,到网上搜下吧
4 楼 kongshanxuelin 2008-10-17  
lc4ever 写道

MD5算法?commons-codec里有啊,自己写也不麻烦的,java api自带

只是把名字取成了MD5而已,其实是公司内部写的对称加密算法
3 楼 BarryWei 2008-10-17  
要是调用vba呢?那怎么写?
2 楼 lc4ever 2008-10-16  
MD5算法?commons-codec里有啊,自己写也不麻烦的,java api自带
1 楼 cyberblue 2008-10-15  
不用javah?

相关推荐

    操作com组件的可以java直接调用vb的dll

    标题提到的“操作com组件的可以java直接调用vb的dll”,实际上是在阐述如何通过Java来利用VB编写的动态链接库(DLL)来操作COM组件,从而实现对Office应用如Word和Excel的控制。这里主要涉及的知识点包括Java COM互...

    C++、VB、DELPHI、JAVA调用DLL

    JAWIN库是本文中提到的JAVA调用DLL的方法,它提供了一种桥接,使得JAVA程序能够像操作JAVA类一样调用DLL中的函数。开发者需要定义接口,该接口对应DLL中的函数签名,然后使用JAWIN库加载DLL并实例化接口,从而调用...

    surfer二次开发-java调用exe

    `sufercounter.exe`可能是一个VB编写的可执行文件,它是VB代码编译后的结果,可能包含特定的Surfer二次开发逻辑,比如用于生成等值线的算法或操作流程。在Java中,我们可以使用`Runtime.getRuntime().exec()`方法来...

    Java 调用 C# DLL

    在C#中,我们可以编写一个公共类库项目,导出一些公共接口和方法,然后生成DLL文件。这些接口和方法可以被其他.NET应用程序,包括C#、VB.NET等调用。然而,Java作为非.NET环境的语言,无法直接调用C# DLL。 为了...

    华视100uc 可用的32位 dll文件

    在开发过程中,如果软件需要与用户交互或者进行控制台操作,可能就需要调用这样的DLL文件。在华视100uc这样的系统中,它可能用于提供串口通信、远程终端服务或者是其他与终端操作相关的功能。 2. `WltRS.dll`:这个...

    java调用dll

    接下来,使用Visual Studio或其他C/C++编译器编写DLL。在这个例子中,我们创建了一个简单的DLL,其源代码为`calldll.cpp`: ```cpp #include "stdafx.h" #include "javacall.h" BOOL APIENTRY DllMain(HANDLE ...

    C#调用VB的演示代码

    3. **使用VB.NET组件**:在C#代码中,我们可以像使用任何其他C#类一样使用VB.NET的类。需要导入VB.NET类所在的命名空间,然后实例化类或直接调用静态方法。 4. **处理互操作问题**:虽然C#和VB.NET在.NET框架下具有...

    java调用dll和ocx的开源控件

    Java调用DLL和OCX是跨语言交互的一个重要应用场景,主要涉及到Java的本地接口(Java Native Interface,JNI)和第三方库如Jacob项目。Jacob是一个Java和COM(Component Object Model)之间桥梁的开源库,它允许Java...

    dll调用演示

    DLL调用是编程中常用的技术,尤其在C++、C#、VB.NET等语言中,它使得代码共享和模块化变得简单。本示例将探讨如何在程序中正确地调用DLL中的函数。 首先,了解DLL的基本概念是必要的。DLL文件包含一组可供其他程序...

    GoDEX标签打印机开发C# Java VB C++ 实例代码

    在C#中开发GoDEX标签打印机,可能涉及.NET Framework或.NET Core的使用,通过引用相关的DLL(动态链接库)文件,如EZio DLL V1.0.0.11_CN,可以调用预定义的函数来控制打印机进行标签打印、设置打印参数等操作。...

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    Java调用动态链接库通用方法.doc

    这样,编写的动态链接库不仅可以被Java调用,还可以被其他多种语言如VC、Delphi、PB、VB、C#等调用。 #### 三、Java调用DLL文件 Java调用DLL文件主要通过`Native`类来实现,该类位于`com.sun.jna`包中。下面以“D...

    用VB.NET进行UGNX二次开发

    ### 使用VB.NET进行UGNX二次...开发者可以通过定制菜单、创建对话框和编写DLL文件等方式,有效地扩展UGNX的功能,满足特定的应用需求。此外,使用VB.NET还可以充分利用.NET框架的强大功能,提高开发效率和软件质量。

    一个采用AES算法的加密模块和调用示例(VB)

    在本资源中,我们有一个采用AES算法的加密模块,它以VB(Visual Basic)语言编写,可以方便地集成到各种应用程序中,如编译成DLL后,可用于Web、ASP、PHP、Java、VB、VC、Excel、Word等多个平台。 AES加密算法基于...

    phantom.dll VC,VB、JAVA等高级语言控制RCX的控件

    Phantom.dll 是一个动态链接库(DLL)文件,主要用于高级编程语言如Visual C++ (VC)、Visual Basic (VB) 和 Java,使开发者能够通过编程方式控制乐高RCX(Robotic Command eXchange)机器人。RCX机器人是乐高早期...

    QR二维码生成代码,带DLL调用说明

    然而,对于不熟悉PB10.0的开发者,"DLL说明.txt"文件提供了跨语言的指导,意味着其他如C++、C#、VB.NET、Java等编程语言也能调用这个DLL来生成二维码。 在使用这个DLL生成二维码时,你需要了解以下关键步骤: 1. *...

    vb调用java组件SatJni1.2

    SatJni是C++编写的动态链接库,实现了C#,PB,Delphi,VB,VC等对Java的调用,能让你很容易地调用成熟的java类库和...示例中演示了通过java调用webservice服务(无需代理对象)得到电话号码和天气信息、调用Base64和MD5等。

    jacob_1.9

    DLL文件是包含可被多个程序共享的函数和资源的库,VB可以创建并调用这些DLL来扩展其功能。 4. **Java调用COM组件:** 在Java中直接操作COM组件并不直观,因为Java本身并不支持COM。然而,JACOB库提供了一种解决...

    用VB编写OPC客户端访问WINCC

    标题中的“用VB编写OPC客户端访问WINCC”是指使用Visual Basic编程语言创建一个OPC客户端,该客户端能够与Siemens的WINCC监控系统进行通信。OPC(OLE for Process Control)是一种工业标准,允许不同自动化系统之间...

    调用DLL示例最新附加易语言

    基本上覆盖了目前主流的开发语言,DLL使用C++编写,演示了VB、C++、DELPHI、JAVA、C#、汇编、易语言调用这个DLL的方法。有些语言我提供了静态和动态2种调用方法。没有写的恕我孤陋寡闻,如果谁知道请联系我QQ:...

Global site tag (gtag.js) - Google Analytics