QT 加载 MFC 的 dll
来源:互联网 发布:linux端口查询命令 编辑:程序博客网 时间:2024/05/29 14:17
之前一直被网上言论所吓倒,以为QT加载不了MFC的dll,网上也没有成功的例子。
弄了几天,原来发现还是可以的。
(之前试过静态加载,确实是不行,下面是用LoadLibrary方法来动态加载)
方法一:
#include <QtCore/QCoreApplication>
#include <Windows.h>
#include <string>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
std::string* buffer1; //这个String的指针,只是个人习惯,可以不用指针,可以用char* 或者QString
std::string* buffer2;
buffer1 = new std::string();
buffer2 = new std::string();
buffer1->clear();
buffer1->append("C:\\xxx.dll"); //注意这里路径需要两个反斜杠
HMODULE tmp = LoadLibraryA(buffer1->c_str());//开始加载Dll 这个HMODULE 跟上面的windows.h相关联
// DLLPREFIX HCLOBJ DLLENTRY Test( LPCTSTR a, LPCTSTR b ); //dll所对应的.h的函数声明
typedef long (CALLBACK *function)( const char* a, const char* b); //对应上面的函数,声明一个本地函数指针 注意 LPCTSTR 对应于 const char* 这里的CALLBACK很重要,不能掉,因为上面.h文件函数声明时有DLLENTRY(就等于这里的CALLBACK),这个CALLBACK 跟上面的windows.h相关联
buffer1->clear();
buffer1->append("Test"); //这个名称跟.h里的函数名对应
function test=(function)GetProcAddress(tmp,buffer1->c_str()); //指针强转
buffer1->clear();
buffer2->clear();
buffer1->append("A");
buffer2->append("B");
test(buffer1->c_str(),buffer2->c_str());//这里就可以用这个test函数了。
FreeLibrary(tmp); //卸载该dll
if(buffer1!=NULL)
{
delete buffer1;
buffer1 = NULL;
}
if(buffer2!=NULL)
{
delete buffer2;
buffer2 = NULL;
}
return a.exec();
}
- QT 加载 MFC 的 dll
- mfc调用qt的dll
- QT的DLL加载使用
- QT加载qt的DLL错误
- _stdcall与_cdecl区别 (QT 加载MFC的dll时,要注意的"_stdcall"或者CALLBACK的问题)
- MFC和Qt分别使用Qt生成的Dll。
- Qt 动态加载 dll
- qt动态加载dll
- QT 动态加载dll
- MFC 下调用Qt编写的含界面的dll
- 在MFC中使用Qt生成的DLL
- Qt调用MFC的dll或者lib出错
- 在MFC中使用Qt生成的DLL
- MFC调用QT编写的DLL动态库
- MFC DLL中加载图标
- MFC加载纯资源DLL
- MFC dll编程与加载
- VC++MFC 简单的DLL加载动态链接库
- sgu200:Cracking RSA(模意义下高斯消元求自由变元个数)
- 问题解释:实验2 用机器指令和汇编指令编程
- 支持“ContactContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库
- ViewTreeObserver绘制监听器
- C++学习(七)
- QT 加载 MFC 的 dll
- git 安装与使用
- Android Studio常用快捷键、Android Studio快捷键大全
- Activity四种启动模式
- java 屏幕录制
- Android UI开发——使用Fragment构建灵活的桌面
- Longest Consecutive Sequence
- tools:context=".MainActivity的作用
- android ImageView scaleType属性