在Qt中使用大漠插件
因工作需要,项目需求(要编写一个营销软件,其中一个功能是控制QQ和微信发送广告消息给指定的联系人或群组,
因为我Windows和逆向水平还不到家,起初的调用Windows API的设计方案不可行,于是只好使用第三方库:大漠插件=_=),
故采用大漠插件实现我所需要的功能。关于大漠插件,不多说,很多人用它写辅助=_=更多详细介绍,请参考这里。
本来是想用DuiLib做界面的(感觉用DuiLib做界面更灵活),但考虑到开发效率(其实最重要的是我对Win32和MFC的熟悉程
度还不够),于是我用了Qt。
进入正题,如何在Qt中使用大漠插件?
首先,下载大漠插件,提取码:91c0(从版本3.1235开始,必须付费后才能使用,我用的是3.1233)。
然后,对大漠插件进行注册(不注册也能调用其中的接口,不过那是另一种使用大漠插件的方法,在此不做描述),以管理员
身份运行cmd,执行regsvr32 大漠插件绝对路径名,例如:regsvr32 E:\Packages\C++\大漠插件\dm.dll,系统会提示注册成功
(可以编写代码完成注册,不过应用要以管理员身份运行)。
接着,使用Qt的一个工具dumpcpp导出dm.dll对应的.h和.cpp文件(在我的电脑上,这个工具的位置是D:\Qt5.9.0\5.9\msvc2015\bin)。
运行命令dumpcpp 大漠插件文件名,例如:dumpcpp E:\Packages\C++\大漠插件\dm.dll,会生成dm.h和dm.cpp(我没有把dumpcpp
添加到环境变量,所以dm.h和dm.cpp的生成位置在D:\Qt5.9.0\5.9\msvc2015\bin),把生成的头文件和源文件移动并添加到自己的工程里。
最后,在pro文件中加入axcontainer,例如:QT += core gui axcontainer(因为大漠插件是采用COM接口编写的,所以要添加axcontainer模块),
接下来包含头文件dm.h后就可以开始调用大漠接口了^_^以下是简单的示例:
Dm::Idmsoft dm;
if (dm.setControl("dm.dmsoft")) //初始化COM对象
{
QMessageBox::information(this, "DMTest", "大漠插件版本:" + dm.Ver());
}
else
{
QMessageBox::critical(this, "错误", "大漠插件初始化失败,请先注册");
}
在Qt中使用大漠插件的更多相关文章
- 在MFC中使用大漠插件
打开Class Wizard,Add Class...->MFC Class From TypeLib... File->Location->>> Finish-> ...
- Qt中如何 编写插件 加载插件 卸载插件
Qt中如何 编写插件 加载插件 卸载插件是本文要介绍的内容.Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoade ...
- 在Qt中如何编写插件,加载插件和卸载插件(转)
Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoader来加载和卸载这些库.由于在开发项目的过程中,要开发一套插件 ...
- QT中静态库的生成与使用
一. 静态库的生成 1. 测试目录: lib 2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为&qu ...
- Qt中使用Firebird 和 Firebird Embedded
编译数据库连接插件 拷贝ibase.h,fbclient_ms.lib(改名gds32_ms.lib)等到ibase.pro项目文件夹下 configure -platform win32-msvc2 ...
- Qt入门(9)——Qt中的线程支持
Qt对线程提供了支持,基本形式有独立于平台的线程类.线程安全方式的事件传递和一个全局Qt库互斥量允许你可以从不同的线程调用Qt方法.警告:所有的GUI类(比如,QWidget和它的子类),操作系统核心 ...
- 在QT中使用Irrlicht引擎的方法与步骤
Ø 相关库,插件安装部分 本篇文档介绍在Qt5.2.0下面使用lrrlicht引擎在Qt窗口中输出(开发环境:vs2012) 1. 首先安装好Qt5.2.0,下载地址: http://downlo ...
- QT中共享库的生成与使用
一. 静态库的生成1. 测试目录: lib2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm i ...
- QT中静态库的生成与使用——创建共享库代码,附例子
一. 静态库的生成 1. 测试目录: lib 2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为&qu ...
随机推荐
- 洛谷——P1078 文化之旅
P1078 文化之旅 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能 ...
- Xamarin.Forms中为WebView指定数据来源Source
Xamarin.Forms中为WebView指定数据来源Source 网页视图WebView用来显示HTML和网页形式内容.使用这种方式,可以借助网页形式进行界面设计,并利于更新和维护.WebVi ...
- CodeChef - RIN Course Selection
Read problems statements in Mandarin Chineseand Russian. Rin is attending a university. She has M se ...
- Android中Drawable知识总结
本文是学习<Android开发艺术探索>中Drawable章节之后的一个总结. 一.常见的Drawable种类介绍 Drawable类 xml标签 描述 BitmapDrawable 表示 ...
- kafka技术分享01--------why we study kafka?
kafka技术分享01--------why we study kafka? 作为一名大数据工程师,我们所面对的大多数是数据密集型的应用,而非计算密集型的应用.对于数据密集型的应用,如何解决数据激 ...
- 邁向IT專家成功之路的三十則鐵律 鐵律十五:IT人生活之道-赤子之心
人的年齡與身體可以因歲月的無情不斷老化,但我們的這一顆心可千萬不要跟著老化.身為IT工作者的我們,每天除了要面對那死板僵硬的電腦挑戰之外,可能還要面臨許多人事方面的紛擾.這時候如果在平日的生活之中,仍 ...
- mac git安装及github配置
准备下载一个react的demo程序包,需要本地用到git.早就向配置了,那就安装配置一下吧. 首先,原来mac已经安装了git,版本 2.7 ,我用 brew又安装了一份git 版本 2.10.2. ...
- 如何下载合适自己系统环境的Xdebug
访问https://xdebug.org 在浏览器输入http://localhost/?phpinfo=1 (前提已经安装了wamp环境) Ctrl+a 全选 ,复制 粘贴到刚才的网站的 ...
- vue2.0 + vux (六)NewsList 资讯页 及 NewsDetail 资讯详情页
设置代理,避免出现跨域问题 /*设置代理,避免出现跨域问题*/ proxyTable: { '/api':{ target: 'https://www.oschina.net/action/apiv2 ...
- Hazelcast与MongoDB集成
Hazelcast与MongoDB集成 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一.Hazelcast与Mong ...