// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "stdafx.h"
#include "ILabelHelper.h"
#include <string>
HMODULE g_hModule = NULL;
DeleteProcFUNC g_pFunDeleteProc = NULL;
ILabelHelper* g_pLabel = NULL;
inline
std::wstring GetCurrentDir()
{
BOOL bResult = FALSE;
DWORD dwResult = 0;
std::wstring strWDir;
wchar_t szWDir[MAX_PATH ] = {0};
GetModuleFileName(NULL, szWDir, MAX_PATH);
strWDir = szWDir;
size_t iPos = strWDir.rfind(L"\\" );
strWDir = strWDir.substr(0, iPos + 1);
return strWDir;
}
BOOL Init()
{
std::wstring wstrLibPath(GetCurrentDir() );
wstrLibPath.append(L"XXXX.dll");
g_hModule = LoadLibrary(wstrLibPath.c_str() );
if (g_hModule == NULL)
{
return FALSE;
}
GetProcFUNC GetProc = (GetProcFUNC)GetProcAddress(g_hModule, "getInstance");
if (NULL == GetProc)
{
return FALSE;
}
g
C++动态调用Dll
这篇博客展示了如何在C++中动态加载和使用DLL。通过`LoadLibrary`函数获取DLL模块句柄,然后使用`GetProcAddress`获取DLL中的特定函数指针。文章包含DLL的初始化过程和主函数`DllMain`的实现。
摘要由CSDN通过智能技术生成