VC++MFC调用DLL
发布网友
发布时间:2023-12-08 12:39
我来回答
共2个回答
热心网友
时间:2024-12-12 09:06
HINSTANCE hInst = LoadLibrary(L"User32.DLL"); // 加载DLL
if(hInst)
{
// 加载成功
// 定义待访问函数原型
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
// 获取函数地址
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if(fun)
{
// 成功
fun(hWnd, RGB(0, 0, 0), 255, 2 | 1);
}
FreeLibrary(hInst); //释放 DLL
}
基本上就是这么一个流程,LoadLibrary->成功->获取函数入口点->调用函数->最后FreeLibrary,注意FreeLibrary是必须要实现的不然会造成资源泄漏。
热心网友
时间:2024-12-12 09:06
HINSTANCE hInst = LoadLibrary(L"User32.DLL"); // 加载DLL
if(hInst)
{
// 加载成功
// 定义待访问函数原型
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
// 获取函数地址
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if(fun)
{
// 成功
fun(hWnd, RGB(0, 0, 0), 255, 2 | 1);
}
FreeLibrary(hInst); //释放 DLL
}