用桥接的办法嘛,自己写个符合Java要求的DLL,再用这个DLL去调别人的DLL不就完了?

解决方案 »

  1.   

    这个简单,你写个符合java要求的dll,就是include<jni.h>, 用它调用别人的那个DLL不久行了。
      

  2.   

    char *message;     
        HINSTANCE hinstDll =LoadLibrary(DLL_NAME); 
           
        if (hinstDll != NULL) 

        printf("%s LOAD SUCCESS!!!\n",DLL_NAME);
        
    MyGetVersion=(GETVERSION)GetProcAddress(hinstDll, "getVersion");

    if(MyGetVersion)
    {
        message = MyGetVersion();
    MessageBox(NULL,message,"DLL INVOKE",0);
    }
    else
        printf("Method Invoke Failed!!!\n");

    printf("ErrorCode:%d",GetLastError());
    FreeLibrary(hinstDll);
    system("PAUSE");
        return 0;JNI中可以这样调用已有的DLL,至于它里面的方法,可以用工具看到。
      

  3.   

    我才有点郁闷了,人家是要JAVA吊DLL的,你写一个VC的能解决问题吗?值得怀疑...
      

  4.   

    1.你需要自己再写一个dll来封装你要调用的dll
    2.通过jni调用你自己写的dll