高分求教,Qt如何加载调用win32程序编译的DLL

高分求教,Qt如何加载调用win32程序编译的DLL,第1张

Qt提供了一个 QLibrary 类供显示调用。下面给出一个完整的例子:

testDLLdll为自定义的dll文件,将其复制到程序的输出目录下就可以调用。

#include <QApplication>

#include <QLibrary>

#include <QDebug>

#include <QMessageBox>

typedef int (Fun)(int,int); //定义函数指针,以备调用

int main(int argc,char argv)

{

QApplication app(argc,argv);

QLibrary mylib("testDLLdll"); //声明所用到的dll文件

int result;

if (mylibload()) //判断是否正确加载

{

QMessageBox::information(NULL,"OK","DLL load is OK!");

Fun open=(Fun)mylibresolve("add"); //援引 add() 函数

if (open) //是否成功连接上 add() 函数

{

QMessageBox::information(NULL,"OK","Link to Function is OK!");

result=open(5,6); //这里函数指针调用dll中的 add() 函数

qDebug()<<result;

}

else

QMessageBox::information(NULL,"NO","Linke to Function is not OK!!!!");

}

else

{

QMessageBox::information(NULL,"NO","DLL is not loaded!");

return 0; //加载失败则退出

}

}

d出窗口说加载dll格式结尾的文件出错,999999%是因为你之前卸载某些程序不彻底造成的,在注册表里还有它的信息,所以还在加载。写下以下方法,你认真做好以下3步后,就可以解决这个问题了。

第一步:用超级兔子魔法设置或Windows优化大师扫描一下注册表,它会自动的挑出无效的项,删除它们(如果找不到,请继续以下步骤)。

第二步:把C:\WINDOWS\Prefetch文件夹下的所有文件都删除。

第三步:开始→运行→输入“regedit”→确定→打开注册表编辑器,找到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run右边窗口删除含某某dll的相应键,再找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run在右边删除含某某dll的相应键。最后,点击注册表编辑器菜单栏的编辑→查找→输入某某dll→搜索→删除查找到的对应项目,可能不止一个,查找下一个再删。(如果找不到,继续做以下步骤)

第三步:点击开始菜单→运行→输入msconfig→确定→打开系统配置实用程序→“启动”项→在启动项目里找到相应的dll并其前边的勾去掉(如果你不会,所有启动项只保留ctfmon选中),然后确定应用,这时会提示重启电脑。当你重启电脑进入桌面时会d出提示窗口,这时你在左下角选上不再提示勾勾,就可以了

很高兴回答你的问题,最后,还不会,可以加我问我,谢谢

找另一台的电脑上去复制下这个缺失的文件。

可以尝试使用腾讯电脑管家来修复缺失DLL文件

1、打开腾讯电脑管家

2、电脑诊所

3、软件问题

4、丢失Dll 文件

5、一键修复

6、完成

如果还是解决不了,去下一个文件直接复制进去就能搞定了

mfc的对话框资源,不过一些对窗口的配置,然后使用的时候用这些配置生成一个窗口。最后,还是调用的CreateWindow。也就是窗口外观上的定义。

你完全可以使用C#写一个外观一样的窗口而没必要一定使用mfc里的资源。

一定要这样做也行。那你调用mfc的dll,然后调用dll中的方法来使用资源,而不是在C#里直接使用资源。

以上就是关于高分求教,Qt如何加载调用win32程序编译的DLL全部的内容,包括:高分求教,Qt如何加载调用win32程序编译的DLL、打开超级旋风时提示“加载DLL失败,程序退出”、怎么解决vs程序加载过多dll文件的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9324083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存