我请教别人,有的说用applet,有的说用ocx,有的说用dll,说得我不知道如何做?

解决方案 »

  1.   

    用jni 调用dll肯定可以:
    1.建TestDLL.java
    public class TestDLL
    {
      
     public static void testshow(String msg)
      {
        testshow0(msg);
      }
      private static native int  testshow0(String msg);  static
      {
        System.loadLibrary( "TestDLL" );
      }
       public static void main( String[] args )
       {
         testshow("Hello!");
       }
    }
    2. 编译成类
    javac TestDLL.java
    3.生成.h文件
    javah -jni TestDLL
    4.建TestDLL.c
    #include <windows.h>
    #include "TestDLL.h"
    JNIEXPORT jint JNICALL Java_TestDLL_testshow0
      (JNIEnv *env, jobject obj, jstring s)
    {
      const char* szStr = (*env)->GetStringUTFChars( env, s, 0 );
      MessageBox(NULL,szStr,"TestDLL",MB_OK);              //这里只是个演示
      (*env)->ReleaseStringUTFChars( env, s, szStr );
    }
    5.生成DLL
    cl -Id:\j2sdk1.4.2_09\include -Id:\j2sdk1.4.2_09\include\win32 -LD TestDLL.c user32.lib
    6.测试结果
    java TestDLL
    你将会看到java调用windwos DLL的MessageBox所产生的Hello对话框
    环境:
      JDK+VC
    7.你可用JAVA调用C的接口来调用你卡商的DLL,就像我上面调user32.dll中的messagebox一样
      

  2.   

    java可以控制com口与读卡器进行通讯啊
      

  3.   

    直接读写com口就行了,不需要jni应该就可以
      

  4.   

    可是一般不会提供java的API的,还是要JNi
      

  5.   

    laughsmile(海边的星空)你说的好像不行吧. 直接读写 COM口 ?  请明示.
      

  6.   

    请问那服务器是不是必须是window操作系吗?
      

  7.   


    那要看你的卡商提供的IC卡读卡器的驱动了,如果有linux下的驱动,服务器可以是linux的,JAVA的JNI可以在很多系统下工作
      

  8.   

    to keiy():我想做一个读写IC的程序,能不能指导一下我!我的QQ:5298674!跟你聊聊好吗?
      

  9.   

    keiy()急救我!QQ:5298674,聊聊java中用IC方面的知识,跪谢!
      

  10.   

    到sun的网站上下java comm api,读卡器连接到电脑的com口,
    直接对com编程