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

          JNA調用window api中的MessageBox

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

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

          將hello.c編譯成libDLL2.dll,放進java的項目文件夾中,java調用方式
          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();
               }
          }

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



          評論

          # re: JNA調用window api中的MessageBox  回復  更多評論   

          2010-12-27 02:15 by Unmi
          要能直接調用 user32.dll 人 MessageBox 才妙。
          主站蜘蛛池模板: 滕州市| 济南市| 宝丰县| 金寨县| 新巴尔虎左旗| 界首市| 彩票| 太康县| 盘山县| 罗城| 阳春市| 介休市| 彩票| 肃南| 汽车| 兴隆县| 永兴县| 兴化市| 池州市| 尚志市| 临洮县| 宜宾市| 北辰区| 萨嘎县| 大方县| 炎陵县| 太湖县| 吐鲁番市| 武安市| 林周县| 鄂州市| 建昌县| 凤庆县| 德化县| 蓬溪县| 东光县| 通化市| 分宜县| 乐昌市| 元谋县| 望谟县|