#include "stdafx.h" #include <windows.h> #include <windowsx.h> #include "resource.h" #include "MainDlg.h" typedef int(_cdecl* FunctionAdd)(int,int); /* Template designed by RuPeng.com. Please visit http://www.rupeng.com for more information 如鹏网(http://www.rupeng.com)大学生计算机学习社区,提供大量免费视频学习教程,提供个性化一对一学习指导 */ BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); } return FALSE; } BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { return TRUE; } void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) { switch(id) { case IDC_OK: { HMODULE hModule; FunctionAdd add; hModule = LoadLibrary("Newdll.dll"); //调试时hModule为0x10000000 //LoadLibrary返回的就是dll的句柄 //参数可以是相对路径,也可以是绝对路径 if(NULL==hModule ) { MessageBox(hwnd,TEXT("加载dll失败"),TEXT("错误"),MB_OK); } add =(FunctionAdd)GetProcAddress(hModule,"add"); if(NULL==add) { MessageBox(hwnd,TEXT("加载dll失败"),TEXT("错误"),MB_OK); } int r=add(1,1); TCHAR msg[256]; wsprintf(msg,"1+1=%i",r); MessageBox(hwnd,msg,TEXT("错误"),MB_OK); FreeLibrary(hModule); } break; default: break; } } void Main_OnClose(HWND hwnd) { EndDialog(hwnd, 0); }
【VC++】动态调用链接库
原创fangjin19900820 ©著作权
©著作权归作者所有:来自51CTO博客作者fangjin19900820的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:【VC++】SQL代码
下一篇:【VC++开发】静态调用链接库
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【VC++积累】之四、动态链接库
本文要说的是动态链接库 dll 和静态链接库 lib动态链接库是一
#include 动态链接库 #pragma