国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

在java里面調(diào)用CUI程序的方法

瀏覽:2日期:2024-06-23 16:25:05
內(nèi)容: 在java里面調(diào)用CUI程序的方法問題描述:該函數(shù)在win平臺(tái)上面調(diào)用不是很成功,GUI會(huì)可以調(diào)出來(lái),但可能和屏蔽調(diào)其中的一些用到CUI的功能,而調(diào)用CUI如masm.exe是很不成功,出現(xiàn)一個(gè)黑屏,沒用內(nèi)容,或者根本不有結(jié)果。其程序如下:class RunThread{ Process t ; public void run(){ try{ t = java.lang.Runtime.getRuntime().exec('c:masm.exe'); }catch(java.io.IOException e ) { System.out.println(e); }}}/************************************************/class RunExeNative{ public static void main(String args[]){ RunThread RT = new RunThread(); RT.run(); }}下面是JNI + C 的本地化的實(shí)現(xiàn)方法:寫一個(gè):CallExeNative.h步驟如下:step one :/**** CallExeNative.java ****/編寫CallExeNative.java文件import java.lang.*;class CallExeNative{ public native static void CEN(); static { System.loadLibrary('CallExeNative'); }}在命令行里用:javac CallExeNative.javajavah CallExeNative然后你就多了一個(gè) :CallExeNative.h它的文件如下:/* DO NOT EDIT THIS FILE - it is machine generated */#include /* Header for class CallExeNative */#ifndef _Included_CallExeNative#define _Included_CallExeNative#ifdef __cplusplusextern 'C' {#endif/* * Class: CallExeNative * Method: CEN * Signature: ()V */JNIEXPORT void JNICALL Java_CallExeNative_CEN (JNIEnv *, jclass);#ifdef __cplusplus}#endif#endif這個(gè)文件不用改。下面要寫一個(gè)CallExeNative.c文件:該函數(shù)的功能是將你的CUI文件調(diào)出來(lái)文件如下:#include 'C:CallExeNative.h'/*在你的機(jī)器上調(diào)試時(shí)可能要修改該文件路徑*/#include #include #include JNIEXPORT void JNICALL Java_CallExeNative_CEN(JNIEnv* env, jclass cl){ char prog[80]; printf('Hello CallExeNative!n'); printf( 'Enter name of program to exec: ' ); gets( prog ); _execl( prog, prog, '_execl', 'two', NULL );}現(xiàn)在visual c++ 的cl 功能在命令行下c:>cl /LD CallExeNative.c之后你 會(huì)發(fā)現(xiàn)生成了一個(gè)CallExeNative.dll文件,現(xiàn)在寫RunExeNative.java文件:/*includeCallExeNative.hCallExeNative.dll*/import java.lang.*;/*load a native method : to call a native file*/class CallExeNative{ public native static void CEN(); static { System.loadLibrary('CallExeNative'); }}/************************************************/class RunExeNative{ public static void main(String args[]){ CallExeNative CEN1 = new CallExeNative(); CEN1.CEN(); }}同樣用javac RunExeNative.javajava RunExeNative之后你就會(huì)發(fā)現(xiàn)提示你輸入CUI文件的路徑 你輸入路徑即可!說(shuō)明:要注意的是CallExeNative.h和CallExeNative.dll應(yīng)該都在同一個(gè)文件夾(我的是在c:jdk1.3.1_11bin).不足之處:破壞了java的移植性!而且你想想看,同樣的功能在VB下用Shell(filepath,windowstyle)很容易就搞定,你還會(huì)用java嗎?我寫這篇文章的目的是希望大家找到一種更好的方法來(lái)實(shí)現(xiàn)這個(gè)功能。 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 成人a毛片在线看免费全部播放 | 国产手机精品a | 男人毛片 | 免费人成黄页网站在线观看 | 亚洲精品在线免费看 | 色www永久免费 | 欧美成人午夜在线全部免费 | 成人久久18免费网站入口 | 精品国产成人 | 久久99亚洲网美利坚合众国 | 国产欧美日韩综合精品无毒 | 怡红院亚洲 | 成人精品视频一区二区在线 | 日本免费人成黄页在线观看视频 | 一级一级特黄女人精品毛片 | 一级色| 一及 片日本 | 99久久精品免费 | 日韩国产在线播放 | 久久精品a一国产成人免费网站 | 久久精品视频在线观看榴莲视频 | 免费a网 | 亚洲一区二区三区福利在线 | 国产精品毛片一区二区三区 | 亚洲国产小视频 | 99久久久国产精品免费播放器 | 不卡精品国产_亚洲人成在线 | 亚洲精品综合一区二区三区在线 | 男人桶女人逼 | 鲁老汉精品视频在线观看 | 国产精品久久久久久久久久久搜索 | 欧美亚洲国产日韩一区二区三区 | 成 人 动漫在线观看网站网站 | 亚洲一区二区三区免费观看 | 国产精品无圣光一区二区 | 亚洲成a人片在线观看中 | 青青影院一区二区免费视频 | 亚洲伊人色综合网站亚洲伊人 | 国产视频二 | 日本在线亚州精品视频在线 | 久草视频官网 |