知识大全 在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   /* 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   #include   #include     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/25777

相关参考

知识大全 在Java程序中调用Matlab函数

在Java程序中调用Matlab函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 Java调用外部程序技巧

Java调用外部程序技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &n

知识大全 java中调用matlab代码

  MATLAB的最新版本b中新添了一个产品-MATLABBuilderforJava其实本来Matlab就有Java外部程序接口不过原来的接口只能在m文件中调用Java而无法在Java程序中调用Ma

知识大全 用Java调用doc执行程序

用Java调用doc执行程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  今天我突发奇想如果用

知识大全 谈谈各种JAVA中的调用程序方式

谈谈各种JAVA中的调用程序方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  很多书籍都说Ja

知识大全 DWR调用客户端Java代码的程序实例

DWR调用客户端Java代码的程序实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  //———

知识大全 java程序设计与问题解决

  异常处理允许读者为程序的正常情况单独设计和编写代码并与不正常情况下的处理代码分开  throw语句的作用类似一个方法调用但它并没有去调用一个方法而是调用了catch块  预定义的异常类Except

知识大全 java里面如何创建一个内部类的实例?

  要想使用new生成一个内部类的实例需要先指向一个外部类的实例也就是先生成外部类的实例因为内部类可以调用外部类的人员成员当没有外部类实例的时候也就没有这些成员的内存空间内部类在实例化的时候调用外部类

知识大全 java调用天气预报调用代码

  天气预报调用代码  最近要做一个网站需要用到天气预报本来是想找到API自己写一个自己的天气预报小程序的没有成功只好去找现成的代码调用经过测试我找到了几种现在还可以使用的调用代码由于大部分效果使用的

知识大全 使用Runtime.exec重定向本地程序调用

Java技巧:使用Runtime.exec重定向本地程序调用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看