如上。如果可以那代码应该怎么写呢?能不能给个例子。thx。我正在学习dll有兴趣者可以一起学。互相帮助。
msn:hjzxy@sina。com

解决方案 »

  1.   

    //MSDN例程#include <stdio.h> 
    #include <windows.h> 
     
    typedef VOID (*MYPROC)(LPTSTR); //函数指针(取得函数在DLL中的地址)
                                    //void为返回值,LPCSTR为参数
                                    //LPCSTR可根据需要改动VOID main(VOID) 

        HINSTANCE hinstLib; //句柄
        MYPROC ProcAdd; 
        BOOL fFreeResult, fRunTimeLinkSuccess = FALSE; 
     
        // Get a handle to the DLL module.
     
        hinstLib = LoadLibrary("my.dll"); //装载DLL
     
        // If the handle is valid, try to get the function address.
     
        if (hinstLib != NULL) 
        { 
            ProcAdd = (MYPROC) GetProcAddress(hinstLib, "myfun"); 
                  //ProcAdd即为myfun在DLL中的地址         // If the function address is valid, call the function.
          
            if (fRunTimeLinkSuccess = (ProcAdd != NULL)) 
                (ProcAdd) ("message via DLL function\n"); 
     
            //现在为可以使用myfun函数了。方法为:
            /*
                 ProcAdd((char *)&InitArgs);//(char *)&InitArgs为参数
            */
            //调用完后释放句柄,如需调用其它函数,重复即可。
            // Free the DLL module.
     
            fFreeResult = FreeLibrary(hinstLib); 
        } 
     
        // If unable to call the DLL function, use an alternative.
     
        if (! fRunTimeLinkSuccess) 
            printf("message via alternative method\n"); 
    }
      

  2.   

    我的代码如下:#include "stdafx.h"
    #include <iostream.h>
    #include <windows.h>
    HINSTANCE Dll_handler;
    typedef char* (*DLLTEST)();
    DLLTEST CommOpen;int main(int argc, char* argv[])

         Dll_handler = LoadLibrary("vbdll.dll");//这一步成功
         CommOpen = (DLLTEST)GetProcAddressDll_handler,"output");//output是vbdll。dll中class CFunc的一个方法、这一步不成功,我不知道如何写。    ……
           //other code FreeLibrary(Dll_handler); return 0;}
      

  3.   

    我想能,因为DLL应该是统一的。不就是
    LoadLibary
    GetProcAddress
    FreeLibary
    几个函数的应用
      

  4.   

    我用vc写了一个一模一样的dll在vc中调用成功了.
    难道vb写的dll只能在vb中调用、应该不会这样吧!!
      

  5.   

    to : zhou80bin(彬彬) 
    怎么调用?请详细说说or给出代码。
      

  6.   

    先用depends查看一下VB写的DLL的导出函数的名字,以确保GetProcAddress()的参数正确。
      

  7.   

    dumpbin /exports mydll.dll |more
     查看基本信息,
      

  8.   

    VB 做的 dll? 那应该是 ActiveX 组件的 dll 吧。不过,VB 能调用的东西,VC 应该也可以调用的。但 VC 做出来的 dll VB 不一定能调用。
      

  9.   

    你如果回在VC中调用ActiveX的话,你就会是用VB创建的DLL
      

  10.   


    不过只能用COM的方式调用