`
jessen163
  • 浏览: 466555 次
  • 性别: Icon_minigender_1
  • 来自: 潘多拉
社区版块
存档分类
最新评论

利用jawin完成调用window中dll的调用

 
阅读更多
  [转]

Java/Win32互动项目( Jawin)是一个免费的开源软件工程,用于和微软的COM或者Win32下面的DLL文件互动。

1.可以使用Jawin与诸如微软的办公套件的可交互的脚本进行应用程序进行交互,可以获取Win32 API应用程序功能,如Windows注册表,安全APIs,甚至事件日志,可以使用Jawin处理.NET代码象处理COM对象一样。实事上,Jawin允许JAVA应用程序调用任何基于COM及DLL的代码,而不需要写任何Java本地接口(JNI)代码。使用Jawin你可以调用任何可在Windows环境下编程的组件,你也可以调用任意的COM组件或者是DLL实体指针。
2.Jawin包括一个代码生成器,Java类型查看器,支持为可脚本化或者是非脚本化的COM组件生成根代码,代码生成器读取一个或者是多个类型库,并且自动省略需要用于调用组件的JAVA根。Jawin类型查看器现在还不能为DLL实体指针生成代码,并且并不是支持所有COM组件的参数类型。

jawin 可以对dll中的方法进行调用,也可以调用com中的方法.内部还提供了一个工具,直接对 com组件导出成 java的类.
下面是我们作的一个测试,很顺利便通过了。
1、下载jawin:http://jawinproject.sourceforge.net/。
2、配置:
    》将jawin.jar放于%JAVA_HOME%/jre/lib/ext下 。
    》将jawin.dll放于c:/winnt/system32下。否则将出现错误:COMException : no jawin in java.library.path;
    也可将jawin.dll放于每个项目目录下。

   》至此在Editplus中调试Jawin/NJawin的例子,可以通过。 而在Eclipse中有时还会出上面的错误:COMException : no jawin in java.library.path。
   》在Eclipse中,菜单->window->preference->Java->installed JREs 将原来的remove,重新建一个指到你的java sdk目录。
   》 ok了。

3、程序测试:
     》调用 dll,dll 的方式不需要导出了,直接调用就可以了,下面是下载的包中提供的一个例子:
/*
 * Created on Dec 22, 2005
 *
 */
import org.jawin.FuncPtr;
import org.jawin.ReturnFlags;

/**
 * @author gf  mail to gf@163.com
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class GfJawinTest {

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

            
                     msgBox.invoke_I(0, "Hello From a DLL", "From Jawin", 0, ReturnFlags.CHECK_NONE);
              } catch (Exception e) {
                     e.printStackTrace();
              }
       }
}
分享到:
评论

相关推荐

    java实例,通过jawin实现对dll中方法的调用

    jawin.jar包含了Java接口,jawin.dll则是Java与DLL交互的桥梁,它实现了Java和C/C++之间的互操作性,使得Java程序员可以方便地调用DLL中的函数。 首先,我们需要理解Java与DLL交互的基本概念。在Java中,我们通常...

    java使用jawin调用dll文件

    本篇文章将详细探讨如何在Java中使用JAWIN库来调用DLL文件,以及这个过程中的关键知识点。 JAWIN 是一个开源项目,它为Java提供了一种简单的方式来访问Windows API和DLL函数。它通过JNI(Java Native Interface)...

    Jawin调用win32 dll

    很不错的组件。可以在JAVA里调用Win32组件

    java通过 jawin和jacob 调用dll文件

    本篇文章将详细探讨如何使用JAWIN和JCOB这两个库在Java中调用DLL文件。 JAWIN(Java to Windows Interface)是一个开源项目,它的主要目标是提供一种方式,使得Java程序能够直接与Windows API进行交互。JAWIN通过...

    vb6、c#、java的jawin-2.0调用c#做的dll

    标题中的“vb6、c#、java的jawin-2.0调用c#做的dll”涉及到了跨语言调用的技术,主要集中在VB6、C#和Java之间如何通过DLL(动态链接库)进行交互。这是一个重要的软件开发课题,因为不同编程语言之间的互操作性有助...

    JAWIN(Java调用Win API)

    Java调用Win API,通常指的是在Java程序中利用Windows操作系统提供的功能接口,这些接口通常以动态链接库(DLL)的形式存在。为了实现这样的调用,开发者通常会使用JNI(Java Native Interface),这是一个允许Java...

    Java和DLL(COM)互操作 Jawin

    Jawin的核心是一个Java库,它提供了一种桥接机制,使得Java应用程序能够通过JNI(Java Native Interface)直接调用DLL中的函数,同时支持COM对象的创建、方法调用和属性访问。这种方式使得Java开发者可以利用丰富的...

    java调用dll/com组件word excel使用jawin架包

    标题中的"java调用dll/com组件word excel使用jawin架包"涉及到的技术点主要包含以下几个方面: 1. **Java Native Interface (JNI)**: JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。当...

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

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

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

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

    jawin使用步骤.txt

    Jawin 是一个 Java 绑定库,用于调用 Windows 的本地 DLL 文件,使得在 Java 应用程序中可以利用到原生 Windows 功能。本文将根据给定的“jawin使用步骤.txt”文件,详细介绍如何在 Java 环境下配置并使用 Jawin。 ...

    jawin

    Jawin项目就是为了满足这种需求而出现的,它提供了一个解决方案,使得Java开发者能够轻松地在Java应用中调用Windows平台上的动态链接库(DLL)函数。 Jawin的核心思想是通过JNI(Java Native Interface)来实现Java...

    基于Java的实例源码-和DLL(COM)互操作 Jawin.zip

    4. **示例代码解析**:压缩包中的源码提供了具体的示例,展示了如何使用Jawin加载DLL,调用DLL中的函数,以及如何创建和操作COM对象。通过分析这些示例,开发者可以快速理解和掌握Jawin的使用方法。 5. **应用领域*...

    Java和DLL(COM)互操作 Jawin.7z

    Jawin的使用对于那些希望在Java应用程序中利用现有Windows系统资源的开发者来说,是一个强大的工具。然而,需要注意的是,由于DLL和COM组件通常不遵循Java的跨平台性,因此使用Jawin可能限制了程序的移植性。此外,...

    jawin使用

    这通常是因为JAWIN的动态链接库(`jawin.dll`)没有被正确地加载到Java的类路径中。 - 解决方案:确认`jawin.dll`是否位于正确的目录,并且该目录是否已经在`java.library.path`中。如果是在EditPlus或者Eclipse等IDE...

    调用DLL示例最终版

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

    JAVA调用C/C++ DLL文件方法

    在 Java 中,存在多种调用 C/C++ 库文件的方式,包括 JNI、JNative、Jawin 和 Jacob 等。其中,JNI(Java Native Interface)是 Java 语言本身提供的调用本地已编译的函数库的方法,本身具有跨平台性,可以在不同的...

    Jawin , Jacob 调用word

    虽然描述中没有提供具体细节,但我们可以推测博主可能分享了关于如何设置和配置Jawin与Jacob,以及如何利用它们创建、读取、修改或导出Word文档的步骤和示例代码。 标签“源码”暗示了博客内容可能包括了一些实际的...

    jawin jar包

    5. 在Java中调用:在Java代码中通过Jawin库调用本地方法,从而间接调用到Windows API。 Jawin库的优势在于: - 简化了Java与Windows API的交互,避免了使用复杂的JNI直接编程。 - 提供了一套完整的封装,使得调用...

    java 调用DLL 学习笔记

    Java调用DLL是Java开发中一个重要的跨平台技术,它允许Java程序与本地操作系统功能进行交互,例如调用Windows API或其他特定平台的服务。本学习笔记将深入探讨三种主要的Java调用DLL的方法:JNI(Java Native ...

Global site tag (gtag.js) - Google Analytics