zoukankan      html  css  js  c++  java
  • 一个简单示例 利用jawin完成调用window中dll的调用

    最近由于项目的特殊需求,我们必须在程序调用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();

                  }

           }

    }

     转自:http://www.blogjava.net/gf7/archive/2005/12/22/25041.html

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 相关阅读:
    POJ 3140 Contestants Division (树dp)
    POJ 3107 Godfather (树重心)
    POJ 1655 Balancing Act (树的重心)
    HDU 3534 Tree (经典树形dp)
    HDU 1561 The more, The Better (树形dp)
    HDU 1011 Starship Troopers (树dp)
    Light oj 1085
    Light oj 1013
    Light oj 1134
    FZU 2224 An exciting GCD problem(GCD种类预处理+树状数组维护)同hdu5869
  • 原文地址:https://www.cnblogs.com/skiwdhwhssh/p/10341609.html
Copyright © 2011-2022 走看看