提供一个思路:用自己的DLL调用其它的DLL,在自己的C++程序中调用导出的函数.

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1393/1393543.xml?temp=.9448969
    http://expert.csdn.net/Expert/topic/1575/1575274.xml?temp=.5570185
      

  2.   

    谢谢fenghui(麦克冯) ,期待你的回答。
      

  3.   

    我点太背了,正忙着解决这一问题,却发现爱机被植入了若干exe关联木马,
    常住内存,无法清除,憋了3天,只好重做系统,我痛
      

  4.   

    俺刚在那边答过的
    1,编写java程序
    2,将java程序编译成类文件(这两点都不用说的啦)
    3,产生jni风格的头文件
    javah -jni myNative.class
    生成mypackage_myNative.h文件
    4,实现本地方法
    eg:在vc++中新建win32 dynamic-link library(dll)项目dllNative,
    从头文件中得到本地方法的原形,用C编写本地方法。
    过和略(不同文件都 不同的)
    5,编译生成动态连接库文件
    将java中的include目录下的jni.h和jni_md.h两个文件拷贝到vc++的include目录(或同该项目同一目录)下,再将以上工程编译连接成动态连接库文件dllNative.dll。将该动态连接库文件拷贝到cNative.class同级目录下或system,system32目录下
    6,运行java程序
      

  5.   

    好了,基本和superszhu说的思路一致。
    利用jni流程生成的dll,将其作为一个中间层,再去调用需要的DLL,
    因为java不支持地址调用(指针),直接调用dll不现实,需要c或c++搭建中间层。
      

  6.   

    to fenghui:还是不懂!能否给个具体的简单代码例子?
      

  7.   

    jni生成dll的过程正如Hodex(小何才露尖尖角)所说,
    在生成的dll文件中调用所需的dll中的函数,属于c调用c.
    给个网址吧:jni中文规范,97年的,作个参考
    http://www.iplab.is.tsukuba.ac.jp/~liuxj/jdk1.2/zh/docs/guide/jni/spec/jniTOC.doc.html