zoukankan      html  css  js  c++  java
  • 在Qt中使用大漠插件

        因工作需要,项目需求(要编写一个营销软件,其中一个功能是控制QQ和微信发送广告消息给指定的联系人或群组,

    因为我Windows和逆向水平还不到家,起初的调用Windows API的设计方案不可行,于是只好使用第三方库:大漠插件=_=),

    故采用大漠插件实现我所需要的功能。关于大漠插件,不多说,很多人用它写辅助=_=更多详细介绍,请参考这里

        本来是想用DuiLib做界面的(感觉用DuiLib做界面更灵活),但考虑到开发效率(其实最重要的是我对Win32和MFC的熟悉程

    度还不够),于是我用了Qt。

        进入正题,如何在Qt中使用大漠插件?

        首先,下载大漠插件,提取码:91c0(从版本3.1235开始,必须付费后才能使用,我用的是3.1233)。

        然后,对大漠插件进行注册(不注册也能调用其中的接口,不过那是另一种使用大漠插件的方法,在此不做描述),以管理员

    身份运行cmd,执行regsvr32 大漠插件绝对路径名,例如:regsvr32 E:PackagesC++大漠插件dm.dll,系统会提示注册成功

    (可以编写代码完成注册,不过应用要以管理员身份运行)。

        接着,使用Qt的一个工具dumpcpp导出dm.dll对应的.h和.cpp文件(在我的电脑上,这个工具的位置是D:Qt5.9.05.9msvc2015in)。

    运行命令dumpcpp 大漠插件文件名,例如:dumpcpp E:PackagesC++大漠插件dm.dll,会生成dm.h和dm.cpp(我没有把dumpcpp

    添加到环境变量,所以dm.h和dm.cpp的生成位置在D:Qt5.9.05.9msvc2015in),把生成的头文件和源文件移动并添加到自己的工程里。

        最后,在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, "错误", "大漠插件初始化失败,请先注册");
        }
  • 相关阅读:
    Windows API—CreateEvent—创建事件
    C++的注册和回调
    Python内置模块-logging
    使用 C++ 处理 JSON 数据交换格式
    Python生成器
    5.Spring-Boot缓存数据之Redis
    6.Spring-Boot项目发布到独立的tomcat中
    7.Spring-Boot自定义Banner
    8.Spring-Boot之SpringJdbcTemplate整合Freemarker
    9.Spring-Boot之Mybatis-LogBack-Freemarker
  • 原文地址:https://www.cnblogs.com/buyishi/p/10230405.html
Copyright © 2011-2022 走看看