0 0

java 调用Dll 如何实现,请大家帮忙5

public class HelloDllGeneric {

 public static void main(String[] args) throws Exception {
  FuncPtr msgBox = null;
  try {
   msgBox = new FuncPtr("USER32.DLL", "MessageBoxW");

   NakedByteStream nbs = new NakedByteStream();
   LittleEndianOutputStream leos = new LittleEndianOutputStream(nbs);
   leos.writeInt(0);
   leos.writeStringUnicode("Generic Hello From a DLL");
   leos.writeStringUnicode("From Jawin1S");
   leos.writeInt(0);
   msgBox.invoke("IGGI:I:", 16, nbs, null, ReturnFlags.CHECK_FALSE); //这里的第一个参数是什么意思,求详解,怎样传参,取返回参数??
   //msgBox.invoke_I(0, "hello", "jawin", 0, ReturnFlags.CHECK_FALSE);
   System.out.println("&&&");
  } catch (COMException e) {
   e.printStackTrace();
   throw e;
  } finally {
   if (msgBox != null) {
    try {
     msgBox.close();
    } catch (COMException e) {
     // handle fatal exception
     e.printStackTrace();
     throw e;
    }
   }
  }
 }
}

2014年3月18日 11:29

4个答案 按时间排序 按投票排序

0 0

直接使用bridj吧,自动生成封装好的jar包。

2014年3月19日 10:30
0 0

java调用DLL的技术名称叫JNI,不过,考虑到JNI的原始写法比较麻烦 ,可以使用JNA,它自带了一些对JNI的高层封装。

2014年3月18日 20:34
0 0

JNI ...

2014年3月18日 17:59
0 0

采用jna去调用比较方便,先下载jna的jar文件,然后网上找一些例子相信你就会弄明白的。

2014年3月18日 15:52

相关推荐

    Java调用dll实现des加密解密

    本话题主要聚焦于如何在Java中调用DLL来实现DES(Data Encryption Standard)加密和解密操作。DES是一种广泛使用的对称加密算法,适用于保护数据的安全性。 首先,为了在Java中调用DLL,我们需要一个中间层,通常是...

    java调用dll实现键盘的屏蔽

    标题中的“java调用dll实现键盘的屏蔽”指的是在Java程序中通过动态链接库(DLL)来阻止键盘输入。这是一个常见的需求,特别是在自动化测试、安全软件或者某些特殊应用环境中,可能需要防止用户通过键盘进行输入干扰...

    Java调用Qt DLL

    Java调用Qt DLL是一个跨平台的技术实践,涉及到Java与C++之间的互操作性,其中Qt是一个流行的C++库,主要用于图形用户界面开发。这个主题主要包含以下几个知识点: 1. **JNI(Java Native Interface)**:JNI是Java...

    java调用DLL:JNative

    ### Java调用DLL:JNative概述 在Java项目中,有时候需要调用本地系统的动态链接库(DLL)来实现特定的功能。传统的做法是通过Java Native Interface (JNI)来进行调用,但这往往涉及到复杂的配置和繁琐的过程。为了...

    JAVA调用C#写的DLL例子

    通过上面的例子,我们可以看到,使用 JAVA 调用 C# 编写的 DLL 文件可以实现 JAVA 和 C# 之间的交互,从而扩展了我们的编程能力。 在实际应用中,我们可以使用 JAVA 调用 C# 编写的 DLL 文件来实现各种功能,如加密...

    java调用dll最简单的方法

    在Java中调用DLL(Dynamic Link Library)文件,可以使用Java的本地方法接口(JNI,Java Native Interface)来实现。JNI允许Java程序与本地代码进行交互,从而实现跨平台的功能。

    java调用本地dll的几种方法性能对比测试

    java调用本地dll的几种方法性能对比测试。 JNA消耗的总时间(ms):5406 bridj消耗的总时间(ms):984 JNI消耗的总时间(ms):47 包含c++源码和java源码,部署和使用方法。在win7和winxp下测试用过。 部分源码是...

    java调用dll

    本文将基于提供的“java调用dll实例代码”,深入探讨如何在Java中集成DLL,包括关键步骤、涉及技术以及具体实现细节。 #### 核心概念:JNI与DLL - **JNI(Java Native Interface)**:是Java平台标准的一部分,它...

    JAVA利用JNA调用DLL

    在Java编程环境中,有时我们需要与操作系统底层功能进行交互,例如调用C语言编写的动态链接库(DLL)函数。在这种情况下,Java Native ...JNA测试项目"JNATest"可能包含一个完整的示例,演示如何从Java调用DLL并运行。

    JNA方式实现Java调用dll的必用jar包

    标题"JNA方式实现Java调用dll的必用jar包"指的是使用JNA库来调用Windows平台上的动态链接库(.dll文件)所需的Java类库。这个"jna5.jar"文件是JNA的一个版本,其中包含了所有必要的组件,使得Java程序能够通过JNA...

    java调用C#封装的dll(jna,com)

    java调用C#封装的dll(jna,com)java调用C#封装的dll(jna,com)java调用C#封装的dll(jna,com)

    JAVA-dll-ocx.rar_Java调用dll_dll ocx_java EdisonSmsGw.ocx_java 调用o

    Java调用DLL和OCX是将Java语言与Windows平台下的动态链接库(DLL)和控件(OCX)集成的一种技术。DLL是Windows系统中的一种共享库,它包含可由多个程序同时使用的代码和数据。而OCX是ActiveX控件,主要用于Windows...

    Java通过JNI调用DLL动态库

    Java通过JNI调用DLL动态库,亲测试编写

    JAVA如何调用dll:用JNI调用C或C++动态联接库

    Java 调用DLL(动态链接库)主要是通过JNI(Java Native Interface)技术来实现的。JNI是Java平台标准的一部分,允许Java代码和其他语言写的代码进行交互。在本例中,我们将详细介绍如何使用JNI调用C或C++编写的DLL...

    Java加载dll,导致Java进程内存泄露

    Java本身具有垃圾回收机制,能够自动管理内存,但在调用DLL时,由于这部分代码是运行在C/C++环境中,不遵循Java的内存管理规则。如果DLL中分配了内存但未正确释放,或者Java和DLL之间对对象的引用处理不当,都可能...

    非常好用java调用c++ dll文件demo

    5. **调用DLL方法**:现在,Java程序可以通过JNI接口调用DLL文件中的函数。 在提供的"java_dll_sample"压缩包中,可能包含以下元素: - `Java调用C++ DLL的Java类`:这个类会声明`native`方法,并在运行时通过`...

    jni_java_dll_jsp.zip_Java调用dll_applet_java Applet_java dll jsp_j

    Java调用DLL文件是将Java程序与C/C++编写的动态链接库进行交互的技术,主要应用于需要利用非Java原生功能或与已有C/C++库集成的场景。本资料包"jni_java_dll_jsp.zip"提供了关于这个主题的详细资料,特别是针对...

    jna jar实现java调用dll

    在本文中,我们将深入探讨如何使用JNA jar包来实现Java调用dll文件。 首先,理解JNA的工作原理至关重要。JNA依赖于Java的反射机制,通过接口定义(Interface)来映射本地库中的函数。当你在Java中定义一个接口并...

    java调用dll或so库示例

    Java调用DLL或SO库是跨平台编程中的一个重要技术,主要通过Java本地接口(JNI)实现。JNI允许Java代码直接调用本地(如C++)编写的动态链接库(DLL,Windows系统)或共享对象库(SO,Linux系统),从而扩展Java应用...

Global site tag (gtag.js) - Google Analytics