简单的dll加载

    技术2022-05-20  32

    1.先编写DLL(add.DLL)

    CMfcdllApp theApp;extern    "C"    __declspec(dllexport)    void    Show()   //创建返回void型的dll函数   ...{      AFX_MANAGE_STATE(AfxGetStaticModuleState());      CTest    test;      test.DoModal    ();      }   extern    "C"    __declspec(dllexport)    char*    ShowStr()   //创建返回char*型的dll函数   ...{      AFX_MANAGE_STATE(AfxGetStaticModuleState());    char* str ; str = _T("showstr"); return str;   }   extern    "C"    __declspec(dllexport)    int    ShowInt()   //创建返回int型的dll函数   ...{      AFX_MANAGE_STATE(AfxGetStaticModuleState());    int k = 1;     return k;   }  

    2.然后编写MFC对话框程序

    在事件里写入:

    typedef    (WINAPI    *    TESTDLL)();   //定地dll的使用 HINSTANCE    hmod;    hmod    =    ::LoadLibrary    ("mfcdll.dll");   //load dll if(hmod==NULL)    ...{     AfxMessageBox("Fail");    }    TESTDLL    lpproc;    lpproc = (TESTDLL)GetProcAddress(hmod,"ShowInt");   //调用dll函数showint int i; if(lpproc!=(TESTDLL)NULL)  ...{    i = (int)(*lpproc)();    } lpproc = (TESTDLL)GetProcAddress(hmod, "ShowStr");//调用dll函数showstr CString str; if (lpproc != (TESTDLL)NULL ) ...{  str = (char*)(*lpproc)(); } FreeLibrary(hmod);  

    别忘了把add.DLL文件放到MFC程序里!

     

    本文来自博客,转载请标明出处:http://blog.csdn.net/ice197983/archive/2007/03/21/1536213.aspx


    最新回复(0)