vc++ 如何动态调用DLL

我想用VC++动态调用DLL。谁能帮我?就以动态调用user32.dll的MessageBoxA函数为例子... 我想用VC++动态调用DLL。
谁能帮我? 就以动态调用user32.dll的MessageBoxA函数为例子
展开
 我来答
Lazy_sleeping
2009-04-30 · TA获得超过205个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:178万
展开全部
窗口调用会出错,不是界面程序~...只当是一个例子.

#include <stdio.h>
#include <windows.h>
#include <winuser.h>
typedef int(*lpFun)(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType); //定义函数指针类型
int main()
{
HINSTANCE hDll; //DLL句柄

lpFun testFun; //函数指针

hDll = LoadLibrary("user32.dll");//加载DLL,需要将DLL放到工程目录下.

if (hDll != NULL)

{

testFun = (lpFun)GetProcAddress(hDll, "MessageBoxA");

if (testFun != NULL)

{
testFun(NULL, "Hello world!",NULL, MB_OK);
}

else
{
printf("the calling is error");
}

FreeLibrary(hDll);

}

return 0;
}
xjumabin
推荐于2018-03-19 · TA获得超过196个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:0
展开全部
HINSTANCE hModule=LoadLibrary("user32.dll");
MYPROC pfMessageBoxA=(MYPROC )GetProcAddress(hModule,"MessageBoxA");
(pfMessageBoxA)(hWnd,"Hook","",MB_OK);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
推荐于2016-03-27 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:869万
展开全部
1、编写程序时,包含(#include "什么.h") dll文件作者提供 的 头文件(.h文件) 。程序里,便和普通函数调用一样,去调用它的函数。
2、程序编译时,链接 dll文件作者提供 的 (.lib文件) 库文件。当然,可以在源程序里把.lib 名字写上,编译时自动去链接。例如:#pragma comment (lib, "什么.lib")
3、执行时,要有 .dll 文件。放在当前文件夹或系统文件夹里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式