鷹翔宇空

          學習和生活

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks

          轉自風之語http://www.aygfsteel.com/gf7/archive/2005/12/22/25041.html

          最近由于項目的特殊需求,我們必須在程序調用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();

          ??????????????}

          ?????? }

          }

          posted on 2006-05-30 11:24 TrampEagle 閱讀(863) 評論(1)  編輯  收藏 所屬分類: java

          Feedback

          # re: 利用jawin完成調用window中dll的調用 2008-09-03 16:48 啊啊啊
          別的dll怎么調還是不懂  回復  更多評論
            

          主站蜘蛛池模板: 鄂托克前旗| 隆安县| 盐城市| 集安市| 紫金县| 乌什县| 曲周县| 卫辉市| 钟祥市| 固阳县| 凤台县| 健康| 化州市| 新邵县| 天津市| 仲巴县| 江山市| 南溪县| 新河县| 绥德县| 本溪市| 万宁市| 兴海县| 上栗县| 虞城县| 蓬溪县| 萨嘎县| 商洛市| 女性| 吴桥县| 蓬安县| 茂名市| 定安县| 扶沟县| 封丘县| 伊春市| 双辽市| 绥德县| 武穴市| 广宗县| 剑河县|