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

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

          Posted on 2010-12-23 22:53 penngo 閱讀(3616) 評(píng)論(1)  編輯  收藏 所屬分類: Java
          用JNA調(diào)用C/C++,很方便,寫了個(gè)很簡單的例子。
          例子是使用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 才妙。
          主站蜘蛛池模板: 红原县| 乐业县| 潜江市| 百色市| 扎赉特旗| 政和县| 定边县| 秦安县| 昆山市| 襄汾县| 遵化市| 永仁县| 石嘴山市| 罗平县| 宜章县| 方山县| 堆龙德庆县| 湄潭县| 资阳市| 墨江| 莱西市| 尖扎县| 五大连池市| 泾川县| 台安县| 万州区| 南华县| 历史| 宝应县| 西峡县| 嘉禾县| 万州区| 南溪县| 永川市| 新邵县| 麻城市| 通州市| 阿拉善左旗| 沁源县| 洛川县| 高州市|