永发信息网

C++调用DLL函数问题

答案:4  悬赏:60  手机版
解决时间 2021-02-18 10:21
已知 C:\\msg.dll 中有一个公开函数 int MsgBox(char msg[],char title[])
请问用C++如何调用它。。
不要给我复制一大堆没有用的东西,我不需要只要给我例子就行了。
最佳答案
HINSTANCE hDllInst = LoadLibrary( "c:\\msg.dll");
if(hDllInst)
{
typedef int (WINAPI *MSGBOX)(char *,char *);
MSGBOX MsgBox = NULL;
MsgBox = (MSGBOX)GetProcAddress(hDllInst, "MsgBox");
if(MsgBox)
{
//这里可以做你想做的事了
}
FreeLibrary(hDllInst);
}
如果想什么地方都能调用MsgBox,那么可以把函数指针定义成全局变量
全部回答
你调用和声明的timeadd都只有三个参数,定义中有六个参数! 从你的程序看应该修改如下, 定义:void timeadd(int& days,int& hours,int& minutes,int days,int hours,int minutes); 调用:timeadd(days,hours,minutes,days,hours,minutes); 而且函数调用后,修改的只是函数实现中的xyz,对main()中定义的xyz刚没有影响
HINSTANCE hDllInst = LoadLibrary( "c:\\msg.dll"); if(hDllInst) { typedef DWORd (WINAPI *MYFUNC)(DWORD,DWORD); MYFUNC youFuntionNameAlias = NULL; // youFuntionNameAlias 函数别名 youFuntionNameAlias = (MYFUNC)GetProcAddress (hDllInst, "MsgBox"); if(youFuntionNameAlias) { ...... } FreeLibrary(hDllInst); }
1 调用函数的文件 ... #pragma comment(lib, "msg.lib"); ... extern int MsgBox(char *,char *); ... 2 vc6.0中设置 project->setting->link object/libarary moudles 填上msg.lib tools->option->directories 中指定msg.lib的位置 然后再设置一下 环境变量,指定c:\msg.dll 这样就可以了。祝你顺利!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
用毛团看悠久之翼 有两季 还有个诉说回忆 有
C#语言计算1-100的和的代码
出版物不同于一般商品的最重要的特殊性,是出
plantronics 缤特力耳机怎么用
澳大利亚南部(图中阴影所示区域)气候温和,
宏康路/欣美街(路口)在什么地方啊,我要过去
昌河CH6456CJ28 是福瑞达哪种车?
佩戴麒麟登塔吊坠应注意的事项。。。。。。
vivo y23l怎样打开后盖
农村人男,27岁,太老实了,嘴不会说,家里一
俯瞰今日地球,还有多少清且涟 的河流
王炜烁是个大笨蛋还是个大傻瓜还是个小屁孩儿
无音坪在哪里啊,我有事要去这个地方
刚开始吃ki多醣体身体有什么反应?
瘾在哪里啊,我有事要去这个地方
推荐资讯
买东西,是卖家推荐的好,还是自己选的好呢?
高中解析几何.大神求进第19题
柳宗元《封建论》指出:秦始皇建立帝国,以郡
填数字组成语,( )战( )胜
三级残疾和四级残疾证
中国南方电网云南电网公司会泽营业厅在哪里啊
信息技术课课堂上安排学生玩游戏合适吗?
小米1s手机微信钱包的支付密码是什么
安兔兔跑分我的小米note顶配版3D性能只得了23
济宁曲阜飞机场到济宁医学院怎么走?
供应短期货币资金,主要解决短期资金周转过程
louisa schulte 是什么船公司
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?