`
jessen163
  • 浏览: 457106 次
  • 性别: 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文件

    java 通过 jawin 调用dll范例小程序

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

    里面有开源的jawin.jar包和jawin.dll等相应的配置文件,还有一个测试程序,里附注释教你如何配置环境。讲解清楚,代码保证质量!

    Jawin调用win32 dll

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

    java通过 jawin和jacob 调用dll文件

    java 通过jawin 调用dll;

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

    公司需要做的一个c#的协议解析的dll,可以被vb6、c#及java的jawin-2.0调用,代码已经过测试

    JAWIN(Java调用Win API)

    Java调用Win API:SUN官方提供的JNI调用时还要自己生成头文件,对已有的DLL再次进行封装。需要对C++非常熟悉,因为要写C++代码。不过还好还有另一种解决方案——Jawin

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

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

    调用DLL示例最终版

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

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

    JNI,JNATIVE,JAWIN 使用Java调用DLL动态链接库的方案我知道的有四种:JNI,Jnative,Jawin,Jacob

    Java和DLL(COM)互操作 Jawin

    Java和DLL(COM)互操作 Jawin

    调用DLL示例最新附加JNA

    最近闲着无聊做了个JNA的,第2种JAVA调用DLL库了 基本上覆盖了目前主流的开发语言,DLL使用C++编写,演示了VB、C++、DELPHI、JAVA、C#、汇编、易语言调用这个DLL的方法。有些语言我提供了静态和动态2种调用方法。...

    java 调用DLL 学习笔记

    java 调用DLL 学习笔记,包括 JNI、 JACOB 及JAWIN。 及 dll 查看工具

    Java调用dll实例

    Java调用dll实例,这里包含了jacob+jawin+jna+jnative方法在内的各种资源以及demo,有许多都是CSDN中的下载资源。由于本人也是新手,为了下载关于调用dll的相关资源消耗了大量积分,特此将手中资源进行汇总,为了方便...

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

    NULL 博文链接:https://zhoutiea.iteye.com/blog/626373

    swing界面嵌入ocx或dll影像控件

    swing调用OCX或dll的方法有很多,其中包括:jcob、comfyj、jawin、jni、jna等等很多方式,但是如果要显示dll或ocx的控件在swing界面上,就有点麻烦了,就像ocx在IE中显示的对象一样。最后通过SWT中嵌入OCX,然后把...

    jawin使用

    jawin使用

    jawin

    java调用dll文件使用的

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

    之前发布过C++、VB、DELPHI调用DLL的。今天新增JAVA调用DLL的。用的是Jawin库,省得自己另外再写东西了。

    jawin使用步骤.txt

    jawin使用步骤.txt jawin使用步骤.txt

    Jawin , Jacob 调用word

    NULL 博文链接:https://ap0406708.iteye.com/blog/746841

Global site tag (gtag.js) - Google Analytics