JNA調用window api中的MessageBox

用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!」的窗口。




pengo 2010-12-23 22:53 發表評論
相關文章
相關標籤/搜索