国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
關(guān)于java調(diào)用window DLL里的函數(shù)的總結(jié)

來自http://www.pcbookcn.com/article/2325.htm總結(jié)
單一的一種程序語言的使用已經(jīng)不能滿足我們真正開發(fā)過程中遇到的問題,有可能會(huì)使用多種程序語言共同完成某一應(yīng)用,現(xiàn)在我講解一下java與C++共同完成對(duì)window2000的動(dòng)態(tài)連接庫(DLL)的使用
首先定義一下java類WinMsgBox如下
public class WinMsgBox {
    static{
        System.loadLibrary("WinMsgDll");
    }

    public native void showMsgBox(String str);

    public static void main(String[] args){

    WinMsgBox ss = new WinMsgBox();

    ss.showMsgBox("Hello World!");

   }
}

然后使用javah命令生成頭文件 如下:
C:\tmp>javah -classpath . -jni edu.netcom.jni.WinMsgBox
使他生成一個(gè)edu_netcom_jni_WinMsgBox.h頭文件,這個(gè)頭文件的文件名是包名加上類名共同組成的.頭文件內(nèi)容如下

/* DO NOT EDIT THIS FILE - it is machine generated */ #include /* Header for class edu_netcom_jni_WinMsgBox */

#ifndef _Included_edu_netcom_jni_WinMsgBox

 #define _Included_edu_netcom_jni_WinMsgBox

 #ifdef __cplusplus extern "C" {

#endif

/* * Class: edu_netcom_jni_WinMsgBox

* Method: showMsgBox

* Signature: (Ljava/lang/String;)V

*/

JNIEXPORT void JNICALL Java_edu_netcom_jni_WinMsgBox_showMsgBox (JNIEnv *, jobject, jstring);

#ifdef __cplusplus

}

#endif

#endif

然后寫一個(gè)cpp文件實(shí)現(xiàn)這個(gè)頭文件,在這個(gè)方法里面調(diào)用了MessageBox()函數(shù)如下

#include "windows.h"

#include "iostream.h"

//#include "source.h"

#include "edu_netcom_jni_WinMsgBox.h"

/* * Class: edu_netcom_jni_WinMsgBox

* Method: showMsgBox

* Signature: (Ljava/lang/String;)V

*/

JNIEXPORT void JNICALL Java_edu_netcom_jni_WinMsgBox_showMsgBox (JNIEnv * env, jobject obj, jstring str){

    const char *msg; msg = env->GetStringUTFChars(str,0);

    MessageBox(NULL,msg,"Java invoke",MB_OK);

    env->ReleaseStringUTFChars(str,msg);

}

然后在vc里面生成一個(gè)dll文件,有的時(shí)候會(huì)報(bào)一個(gè)錯(cuò),意思是dll文件打不開,可以寫一個(gè)def文件,然后把所需要的lib文件定義在這個(gè)文件里面,內(nèi)容如下:

LIBRARY      "WinMsgDll"
DESCRIPTION  ‘message Windows Dynamic Link Library‘
EXPORTS
    ; Explicit exports can go here
 Java_edu_netcom_jni_WinMsgBox_showMsgBox
 

文件名為WinMsgDll.dll,再把WinMsgDll.dll文件放到c:\winnt\system32目錄下 這樣通過調(diào)用native方法就執(zhí)行dll里面定義的相應(yīng)的操作了 very easy!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
例解用 VC 6.0 實(shí)現(xiàn) JNI
JNI技術(shù)實(shí)踐小結(jié)--原理分析和詳細(xì)步驟截圖說明 - - Java - JavaEye論壇
Java調(diào)用DLL動(dòng)態(tài)鏈接庫
JNI的替代者
JAVA調(diào)用dll方法
JAVA調(diào)用DLL簡單小例子
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服