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 才妙。
          主站蜘蛛池模板: 科技| 咸阳市| 揭阳市| 江油市| 和龙市| 遂平县| 蒙阴县| 开鲁县| 屏南县| 临桂县| 抚顺市| 滨海县| 涞源县| 柞水县| 嘉定区| 白银市| 沛县| 谢通门县| 太湖县| 平武县| 甘孜| 阿荣旗| 鄂州市| 县级市| 宝清县| 咸丰县| 灵川县| 临桂县| 华亭县| 绿春县| 靖边县| 象州县| 全州县| 青田县| 富阳市| 静宁县| 黄平县| 周宁县| 景泰县| 奉新县| 永清县|