鷹翔宇空

          學習和生活

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

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

          最近由于項目的特殊需求,我們必須在程序調(diào)用window的dll。
          開始我們用jni,后來由于調(diào)用的dll太多,而且很煩瑣。所以,我們決定用開源的jawin調(diào)用。
          jawin 可以對dll中的方法進行調(diào)用,也可以調(diào)用com中的方法.內(nèi)部還提供了一個工具,直接對 com組件導出成 java的類,個人認為很方便。

          下面是我們作的一個測試,很順利便通過了。
          1、下載jawin:http://jawinproject.sourceforge.net/。
          2、配置:
          ????》將jawin.jar放于%JAVA_HOME%\jre\lib\ext下 。
          ????》將jawin.dll放于c:\winnt\system32下。否則將出現(xiàn)錯誤:COMException : no jawin in java.library.path;
          ????也可將jawin.dll放于每個項目目錄下。

          ?? 》至此在Editplus中調(diào)試Jawin/NJawin的例子,可以通過。 而在Eclipse中有時還會出上面的錯誤:COMException : no jawin in java.library.path。
          ?? 》在Eclipse中,菜單->window->preference->Java->installed JREs 將原來的remove,重新建一個指到你的java sdk目錄。
          ?? 》 ok了。
          3、程序測試:

          ???? 》調(diào)用 dll,dll 的方式不需要導出了,直接調(diào)用就可以了,下面是下載的包中提供的一個例子:
          ???? 》我在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 閱讀(870) 評論(1)  編輯  收藏 所屬分類: java

          Feedback

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

          主站蜘蛛池模板: 新龙县| 普格县| 鲁甸县| 江城| 彭阳县| 兰考县| 梁河县| 朝阳市| 汨罗市| 洛隆县| 科尔| 乌鲁木齐市| 德清县| 缙云县| 明水县| 长垣县| 上杭县| 常熟市| 罗城| 车险| 康定县| 绍兴县| 红桥区| 普宁市| 胶南市| 长武县| 六安市| 乐都县| 荣成市| 杂多县| 满洲里市| 乐至县| 温宿县| 庐江县| 新密市| 桃源县| 开平市| 绥德县| 达孜县| 民勤县| 晋中市|