知识大全 在 java 里面调用 CUI 程序的方法
Posted 文件
篇首语:幽映每白日,清辉照衣裳。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在 java 里面调用 CUI 程序的方法相关的知识,希望对你有一定的参考价值。
在 java 里面调用 CUI 程序的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
问题描述 该函数在win平台上面调用不是很成功 GUI会可以调出来 但可能和屏蔽调其中的一些用到CUI的功能 而调用CUI如masm exe是很不成功 出现一个黑屏 没用内容 或者根本不有结果 其程序如下 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 的本地化的实现方法 写一个 CallExeNative h 步骤如下 step one : /**** CallExeNative java ****/ 编写CallExeNative java文件 import java lang *; class CallExeNative public native static void CEN(); static System loadLibrary( CallExeNative ); 在命令行里用: javac CallExeNative java javah CallExeNative 然后你就多了一个 CallExeNative h 它的文件如下 /* DO NOT EDIT THIS FILE it is machine generated */ #include <jni h> /* Header for class CallExeNative */ #ifndef _Included_CallExeNative #define _Included_CallExeNative #ifdef __cplusplus extern C #endif /* * Class: CallExeNative * Method: CEN * Signature: ()V */ JNIEXPORT void JNICALL Java_CallExeNative_CEN (JNIEnv * jclass); #ifdef __cplusplus #endif #endif 这个文件不用改 下面要写一个CallExeNative c文件 该函数的功能是将你的CUI文件调出来 文件如下 #include C:\\CallExeNative h /*在你的机器上调试时可能要修改该文件路径*/ #include <stdio h> #include <process h> #include <conio h> JNIEXPORT void JNICALL Java_CallExeNative_CEN(JNIEnv* env jclass cl) char prog[ ]; printf( Hello CallExeNative!\\n ); printf( Enter name of program to exec: ); gets( prog ); _execl( prog prog _execl o NULL ); 现在visual c++ 的cl 功能在命令行下 c:\\>cl /LD CallExeNative c 之后你 会发现生成了一个CallExeNative dll文件 现在写RunExeNative java文件 /*include CallExeNative h CallExeNative 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 CEN = new CallExeNative(); CEN CEN(); 同样用 javac RunExeNative java java RunExeNative 之后你就会发现提示你输入CUI文件的路径 你输入路径即可! 说明 要注意的是CallExeNative h和CallExeNative dll应该都在同一个文件夹(我的是在c:\\jdk _ \\bin\\) 不足之处 破坏了java的移植性!而且你想想看 同样的功能在VB下用Shell(filepath windowstyle)很容易就搞定 你还会用java吗?我写这篇文章的目的是希望大家找到一种更好的方法来实现这个功能 cha138/Article/program/Java/hx/201311/25805相关参考
在Java程序中调用Matlab函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
Java调用外部程序技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
MATLAB的最新版本b中新添了一个产品-MATLABBuilderforJava其实本来Matlab就有Java外部程序接口不过原来的接口只能在m文件中调用Java而无法在Java程序中调用Ma
用Java调用doc执行程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 今天我突发奇想如果用
谈谈各种JAVA中的调用程序方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很多书籍都说Ja
DWR调用客户端Java代码的程序实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! //———
异常处理允许读者为程序的正常情况单独设计和编写代码并与不正常情况下的处理代码分开 throw语句的作用类似一个方法调用但它并没有去调用一个方法而是调用了catch块 预定义的异常类Except
要想使用new生成一个内部类的实例需要先指向一个外部类的实例也就是先生成外部类的实例因为内部类可以调用外部类的人员成员当没有外部类实例的时候也就没有这些成员的内存空间内部类在实例化的时候调用外部类
天气预报调用代码 最近要做一个网站需要用到天气预报本来是想找到API自己写一个自己的天气预报小程序的没有成功只好去找现成的代码调用经过测试我找到了几种现在还可以使用的调用代码由于大部分效果使用的
Java技巧:使用Runtime.exec重定向本地程序调用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看