posts - 59, comments - 244, trackbacks - 0, articles - 0
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          JNA調(diào)用window api中的MessageBox

          Posted on 2010-12-23 22:53 penngo 閱讀(3621) 評(píng)論(1)  編輯  收藏 所屬分類: Java
          用JNA調(diào)用C/C++,很方便,寫了個(gè)很簡(jiǎn)單的例子。
          例子是使用Eclipse CDT + MinGW開發(fā)的:
          C代碼,hello.c
          #include <windows.h>
          #include 
          "stdio.h"

          void say(){
              MessageBox (NULL, TEXT (
          "你好, Windows!"), TEXT ("HelloMsg"), 0);
          }

          將hello.c編譯成libDLL2.dll,放進(jìn)java的項(xiàng)目文件夾中,java調(diào)用方式
          Java代碼,dll.java
          public class Dll {
              
          public interface TestDll1 extends Library { 
                  TestDll1 INSTANCE 
          = (TestDll1)Native.loadLibrary("libDLL2", TestDll1.class);
                  
          public void say();
          }
               
          public static void main(String[] args) {
                   TestDll1.INSTANCE.say();
               }
          }

          先寫一個(gè)接口TestDll1映射C的方法,再通過這接口調(diào)用say(),在eclipse中編譯運(yùn)行這個(gè)java代碼,可以看到彈出“你好,window!”的窗口。



          評(píng)論

          # re: JNA調(diào)用window api中的MessageBox  回復(fù)  更多評(píng)論   

          2010-12-27 02:15 by Unmi
          要能直接調(diào)用 user32.dll 人 MessageBox 才妙。
          主站蜘蛛池模板: 天长市| 开化县| 开阳县| 温泉县| 镇康县| 桃江县| 岐山县| 沛县| 原平市| 上饶县| 安远县| 宜良县| 大新县| 马关县| 瓮安县| 丰都县| 新宁县| 舒城县| 平陆县| 富顺县| 泗水县| 沙田区| 古蔺县| 繁峙县| 景洪市| 浦城县| 互助| 樟树市| 南投市| 盘锦市| 北海市| 灵石县| 建始县| 禄劝| 毕节市| 佛教| 磴口县| 平陆县| 海林市| 定南县| 平和县|