c++如何调用动态链接库

typedef void*(*CallFunc)();
typedef void*(*CallFuncStartPrint)(PrintJobProperty*);
int main()
{

    CallFunc  InitPrinter;
    int  nIntSuc = 0;
    int  nStartSub = 0;
    BOOL init_flag = false;
    HINSTANCE hActive = LoadLibrary(L"XLFPrintAPI.dll");

    if (hActive == NULL)
    {
        std::cout << "get infoDLL error!" << "\n" << std::endl;
    }
    else
    {
        InitPrinter = (CallFunc)GetProcAddress(hActive, "InitPrinter");
        if (InitPrinter == NULL)
        {
            std::cout << "get infoInit error!" << "\n" << std::endl;
        }
        else
        {
            BOOL init_flag = false;
            nIntSuc = (int) InitPrinter();
        }
        PrintJobProperty *infohead = NULL;

        infohead = getPictrueInfo(infohead);

        if (infohead!=NULL)
        {
            CallFuncStartPrint  StartPrint;
            StartPrint = (CallFuncStartPrint)GetProcAddress(hActive, "StartPrint");
            if (StartPrint)
            {
                nStartSub =(int) StartPrint(infohead);
            }
        }

    }
    
    FreeLibrary(hActive);
    system("\n");
    return 0;
}

你可能感兴趣的:(C++,c++,开发语言)