JAVA怎么调用现有的DLL动态连结库中的方法
似乎是别人曾经提问过的 
 但我还不是特明白 
 某个产品提供给我们一个产品接口   就是一些dll文件   和对文件的介绍 
 eg:对yashengpro.dll说明如下 
 1.	打开串口 
 功能:打开指定的计算机串口 
 函数: 
 int   OpenSerial(int   nCom)   
 参数: 
 nCom-所要打开的串口   
 返回值:    
 1-打开串口成功 
 0-打开串口失败 
 2.	关闭串口 
 功能:关闭打开的计算机串口 
 函数: 
 void   CloseSerial() 
 3.	机器时间修改 
 功能:修改机器的时间 
 函数: 
 int   SetTime(int   nMachine,char   cDateTime[15])   
 参数: 
 nMachine   -机器号 
 cDateTime-要设置的时间。 
 时间格式为YYYYMMDDHHMMSSD 
 如200408111612303,2004年8月11日16点12分30秒星期三   
 返回值: 
 0-时间设置成功 
 1-时间设置失败   
 现在我想用java编程调用这些个dll   
 望大家明示 
 谢谢 
------解决方案--------------------找使用配置说明,没提供JAR包吗? 
 应该有吧,将JAR包加入CLASSPATH. DLL放入工程下面,直接调用 
 没有JAR包的话,要自己搞?
------解决方案--------------------使用Java Native Interface技术来和其它语言进行交互 
 搜索一下吧,这类的讲解非常多.   
 http://blog.csdn.net/feihoo88/archive/2007/02/13/1509355.aspx
------解决方案--------------------mark 
------解决方案--------------------可以使用jcob试试,目前java调用COM组件的通用方法,不过该组件也不是很成熟,仍有不少bug。
------解决方案--------------------我自己的做法是写一个可以供java 调用的dll,而这个dll再去调用我们真正需要的dll. 
 步骤如下: 
 1.定义好自己想要调用这个dll的java类,如叫:Callyashengpro.class.里面有调用这几个函数的native方法,如 public native int OpenSerial();而加载的本地方法则要改成可以供java使用的dll.如: 
 static { 
 	System.loadLibrary( "javacall "); 
 }   
 2.用C再写个可以供java 调用的dll,名称要与调用本地方法类中加载的名称一样.如:javacall.dll内容就是实现根据javah成生刚才的头文件;实现的内容就是简单调用yashengpro.dll里的函数就可以了.
------解决方案--------------------期待中。
------解决方案--------------------dy0222(大鱼)说的对   
 不过要确定给你的dll是不是jni技术生成的   
 如果是的话那就把dll文件放在%java_home%/bin下   
 class UseDll 
 { 
    public native int OpenSerial(); 
    static 
    { 
       System.loadLibrary( "dllname ");//没有扩展名 
    } 
 {   
 } 
 } 
------解决方案--------------------把jar包放在classpath里 
------解决方案--------------------JNI
------解决方案--------------------用JNI啦