Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 利用jawin完成调用window中dll的调用
【标  题】:利用jawin完成调用window中dll的调用
【关键字】:jawin,window,dll
【来  源】:http://www.cublog.cn/u/18957/showart.php?id=183248

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

Your Ad Here

最近由于项目的特殊需求,我们必须在程序调用window的dll。
开始我们用jni,后来由于调用的dll太多,而且很烦琐。所以,我们决定用开源的jawin调用。
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 的方式不需要导出了,直接调用就可以了,下面是下载的包中提供的一个例子:
     》我在win2000下,测试通过。
/*
 * 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();

              }

       }

}

struts+hibernate:【上一篇】
JSP的内置对象(二)[补充]:【下一篇】
【相关文章】
  • Windows平台安装Bugzilla(下)
  • 基于Windows Mobile 5.0的GPS应用程序开发
  • Windows CE.NET在X86下我们可以实现的功能
  • 让Windows下的Apache服务器支持ASP.NET
  • .NET Framework 2.0 SYSTEM.WEB.DLL Security Update
  • 用C#写一个简单的WINDOWS服务程序
  • windows server 2003 R2 升级到 2003 SERVER 域中域控制器时升级失败!
  • Lyric syncing in Windows Media Player
  • pb中datawindow常用技巧
  • 教你如何实现Linux与windows文件互传
  • 【随机文章】
  • 什么是VLAN
  • Delphi使用TADOQuery时,Guid外键字段的困扰
  • 小强起源考
  • 发现之旅!
  • Apache源代码分析——关于模块结构的几个重要概念
  • ISA配置客户端使用 H.323 Gatekeeper(1)
  • 第 7 部分:网络
  • 一道很郁闷的题
  • 在3DS MAX中打造巍巍雪山
  • IBM的一linux文档库
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.