因工作需要,项目需求(要编写一个营销软件,其中一个功能是控制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中使用大漠插件的更多相关文章

  1. 在MFC中使用大漠插件

    打开Class Wizard,Add Class...->MFC Class From TypeLib... File->Location->>> Finish-> ...

  2. Qt中如何 编写插件 加载插件 卸载插件

    Qt中如何 编写插件 加载插件 卸载插件是本文要介绍的内容.Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoade ...

  3. 在Qt中如何编写插件,加载插件和卸载插件(转)

    Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoader来加载和卸载这些库.由于在开发项目的过程中,要开发一套插件 ...

  4. QT中静态库的生成与使用

    一. 静态库的生成    1. 测试目录: lib    2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为&qu ...

  5. Qt中使用Firebird 和 Firebird Embedded

    编译数据库连接插件 拷贝ibase.h,fbclient_ms.lib(改名gds32_ms.lib)等到ibase.pro项目文件夹下 configure -platform win32-msvc2 ...

  6. Qt入门(9)——Qt中的线程支持

    Qt对线程提供了支持,基本形式有独立于平台的线程类.线程安全方式的事件传递和一个全局Qt库互斥量允许你可以从不同的线程调用Qt方法.警告:所有的GUI类(比如,QWidget和它的子类),操作系统核心 ...

  7. 在QT中使用Irrlicht引擎的方法与步骤

      Ø 相关库,插件安装部分 本篇文档介绍在Qt5.2.0下面使用lrrlicht引擎在Qt窗口中输出(开发环境:vs2012) 1. 首先安装好Qt5.2.0,下载地址: http://downlo ...

  8. QT中共享库的生成与使用

    一. 静态库的生成1. 测试目录: lib2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为"I'm i ...

  9. QT中静态库的生成与使用——创建共享库代码,附例子

    一. 静态库的生成    1. 测试目录: lib    2. 源码文件名: mywindow.h, mywindow.cpp, 类MyWindow继承于QPushButton, 并将文字设置为&qu ...

随机推荐

  1. 标准C程序设计七---51

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  2. 美图秀秀web开发文档

    Xiuxiu 组件 import React, { Component } from 'react'; class XiuXiu extends Component { componentDidMou ...

  3. js-解决移动端点击事件的延迟问题

    众所周知,在手机上的点击事件会有延迟300ms的问题.但在做手机端某些点击小游戏时,我们就需要取消这个延迟的问题: 第一步:禁止页面的缩放 <meta name="viewport&q ...

  4. Codeforces 919 B. Perfect Number

      B. Perfect Number   time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  5. Java 内存查看与分析

    1:gc日志输出 在jvm启动参数中加入 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimestamps -XX:+PrintGCApplication ...

  6. sql-server-next-version-ctp-1-4-now-available

    https://blogs.technet.microsoft.com/dataplatforminsider/2017/03/17/sql-server-next-version-ctp-1-4-n ...

  7. 文件夹浏览(SHBrowseForFolder)

    from http://www.cnblogs.com/Clingingboy/archive/2011/04/16/2018284.html 一.首先要为SHBrowseForFolder准备一个结 ...

  8. GO语言_用redis作为url队列的爬虫

    // Copyright 2016 laosj Author @songtianyi. All Rights Reserved. // // Licensed under the Apache Lic ...

  9. OpenGL - Tessellation Shader 【转】

    http://blog.sina.com.cn/s/blog_8c7d49f20102v4qm.html Patch is just an ordered list of vertices (在tes ...

  10. vue2.0 + vux (四)Home页

    1.综合页(首页) Home.vue <!-- 首页 --> <template> <div> <!-- 顶部 标题栏 --> <app-head ...