由于公司业务需要,QQ群发器经常被用来发送QQ广告,购买的QQ群发器不好用不说,而且是按机器收费的,有些功能还不能修改.

所以公司派我来开发一款自己的QQ群发器,我给群发器取名叫做飞速群发器,用来给软件外包群发送搞笑的笑话,避免被踢.

第一选择UI方面,我选择了最简单,最通用的MFC框架,拖几个控件不一会功夫就将UI设计好了,下面是UI的初步样子:

剩下的就是如何控制QQ发送消息.

我们发送消息,先进行分解

1.第一步打开需要发送的聊天窗口

2.找到要发送的聊天窗口

3.将要发送的内容填写到输入框

4.点击发送按钮

5.关闭聊天窗口.

先解决最简单的发送问题:

第一步:将要发送的内容放到聊天窗口

由于QQ是采用了自绘窗口来开发的,所以普通获取控件点发送的方式无效.

所以发送内容就只能通过复制粘贴到输入框中.

1.将要发送的内容复制到粘贴板

2.将粘贴的命令发送到聊天窗口.

第二步:发送消息

发送消息只能有2种方式:

1.通过模拟发送快捷键发送消息.

2.通过模拟鼠标点击发送QQ消息.

经过测试,这两种方式中,发送快捷方式是最靠谱的,因为模拟点击的方式,由于电脑分辨率不一样导致的UI位置也不一样.

会出现点不到的情况.

所以我这里采用的是模拟按键的方式. 模拟按Enter发送消息.

完成了上面的发送消息的基础部分,剩下的就是要完成一个个的QQ群自动打开的过程.

这里通过模拟上下安检的方式移动位置,按回车键打开窗口.

到此所有的工作已经完成.

下面是几张成果截图:

总结下:

本软件跟其他群发软件的区别以及特色:

1.飞速群发器软件功能实现还是很简单,没有做群组,单个群发,我觉得这个没那么必要。因为QQ会限制群发消息的数量。不如在群里群发来的效率高

2.飞速群发器软件实现了最常用的单一内容群发,在这个基础上还是先了多内容随机群发,实现方式是用文本文件方式,放在特定目录里面就行,程序自动去目录找

这比直接在软件上做管理功能简单高效。群发不同的内容只要创建几个不同的文件夹就行。

3.飞速群发器实现了群名称过滤功能,这里没有直接列出群,一个个让用户去选择,这种很低效率,我采用了关键词包含与排除的办法实现,这样子简单,需要发送的

关键词只要包含在群名称中,就给这个群发送,如果同时包含关键词和排除关键词,则不发送关闭打开下一个群。

4.软件发送过的群会记录住,在2个小时内不会同一个群里发送同样的内容。

5.软件附带群发记录功能,能将发送统计结果,以txt文件的方式导出,方便统计发送的情况。

使用VC++编写QQ群发器,MFC做UI的更多相关文章

  1. 一步步打造QQ群发消息群发器

    最近为了做公众号号推广,吸粉,然后加了几百个QQ群,感觉QQ群的群发效果还是不错的,一天能捞到100个粉丝左右,好的时候也有200个,少的时候几十个,但是由于太多的群了,手工一个个点击开来群发,几百个 ...

  2. C++、VC++、MFC网页自动注册、登陆、发帖、留言,QQ注册、QQ申请器源码、注册邮箱源码、自动发帖源码

    C++.VC++.MFC网页自动注册.登陆.发帖.留言,QQ注册.QQ申请器源码.注册邮箱源码.自动发帖源码   参考资料: 自动登录yahoo邮箱http://blog.csdn.net/suisu ...

  3. 用VC++MFC做文本编辑器(单文档模式)

    用VC++MFC做文本编辑器(单文档模式) 原来做过一个用对话框实现的文本编辑器,其实用MFC模板里面的单文档模板也可以做,甚至更加方便,适合入门级的爱好者试试,现介绍方法如下: < xmlna ...

  4. VC++编写简单串口上位机程序

    VC++编写简单串口上位机程序   转载: http://blog.sina.com.cn/s/articlelist_1809084904_0_1.html VC++编写简单串口上位机程序 串口通信 ...

  5. OC编写使用调试器

    OC编写使用调试器 编写代码免不了,Bug.那么Debug就是程序员的必备技能了.本文和大家一起探讨,如何在应用开发编写代码过程中,使用日志项消息:以及使用动作.条件.迭代控制增强断点. 记录信息 在 ...

  6. jQueryMobile 网页在UC等游览器上无法正常显示或者是无法自适应设备大小,但在QQ游览器上能正常显示的解决方法

    造成jQueryMobile网页在QQ游览器上能正常显示,在UC等游览器上无法正常显示或者是无法自适应设备大小的解决方法: 在<head>标签间添加<meta name=" ...

  7. VC++中操作XML(MFC、SDK)转

    [转]VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++ ...

  8. C#编写媒体播放器--Microsoft的Directx提供的DirectShow组件,该组件的程序集QuartzTypeLib.dll.

    使用C#编写媒体播放器时,需要用到Microsoft的Directx提供的DirectShow组件.用该组件前需要先注册程序集QuartzTypeLib.dll. 1.用QuartzTypeLib.d ...

  9. 远程控制编写之屏幕传输 MFC实现 屏幕截图 发送bmp数据 显示bmp图像

    远程控制编写之屏幕传输  MFC实现  屏幕截图 发送bmp数据 显示bmp图像: 一 : 首先要了解bmp图像的结构 详情请看我转载的一篇文章http://blog.csdn.net/hnust_x ...

随机推荐

  1. java语法基础(三)

    类和对象 面向对象语言概述 java是一种面向对象的语言,什么是面向对象的语言? 要搞清楚什么是面向对象语言,我们需要相对的了解一下面向过程的语言. java入门阶段,我们又给大家说过一些语言的分类, ...

  2. java语法基础(一)

    这个是自己前两年做java视频教程时候的课件.感兴趣的同学可以参考下. 这里是纯粹的语法行总结. editplus的使用 选择项目目录 打开editplus 左侧目录导航栏 可以打开盘符,文件夹 可以 ...

  3. A - BBQ Easy

    Score : 200 points Problem Statement Snuke is having a barbeque party. At the party, he will make N  ...

  4. silverlight DataGrid 显示篇

    silverlight DataGrid 显示篇 分类: Silverlight2012-05-12 21:55 693人阅读 评论(0) 收藏 举报 datagridsilverlightbindi ...

  5. 部署到Linux并配置Java定时任务

    Java项目部署到Linux并配置定时任务 https://blog.csdn.net/u013850277/article/details/53447391 1.在Eclipse中将程序开发好,并进 ...

  6. bzoj1513

    二维线段树 听说二维线段树不能下传标记? 就是裸的二维线段树,由于每次高度只能增加,所以我们就可以标记永久化 每个线段树里有两个数组,mx和mark,每次修改路径上所有mx都要修改,mark是区间的精 ...

  7. 从事UNIX/LInux服务器编程最方便的代码编译工具------(eclipse for c/c++)、(FileZilla)、(Secure CRT) 这三种一定要一起使用 之1

    今天主要是将前几天搞的Linux学习的心得写出来,希望帮助更多的人进行,方便从事Unix和Linux编程的同行和刚入门者.主要介绍三种工具并给出安装过程,请大家不必怀疑这个博文,此博文是我自己原创.请 ...

  8. H5的draggable属性和jqueryUI.sortable

    拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 一.HTML5 新特性 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. Event On Event Handler 描述 d ...

  9. 【WIP】markdown

    创建: 2018/03/18 [任务表]TODO 这个博客从来不点发布到首页, 完全100%自用, 全部详细完整的干货.千辛万苦找到这里看到一片空白, 是不是很愤怒? 那就对啦233333

  10. 线程Coroutines 和 Yield(转)

    之前一直很纠结这个问题,在网上找到了这篇文章,给大家分享下: 第一种方法:    void Start()     {         print("Starting " + Ti ...