使用VC++编写QQ群发器,MFC做UI
由于公司业务需要,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的更多相关文章
- 一步步打造QQ群发消息群发器
最近为了做公众号号推广,吸粉,然后加了几百个QQ群,感觉QQ群的群发效果还是不错的,一天能捞到100个粉丝左右,好的时候也有200个,少的时候几十个,但是由于太多的群了,手工一个个点击开来群发,几百个 ...
- C++、VC++、MFC网页自动注册、登陆、发帖、留言,QQ注册、QQ申请器源码、注册邮箱源码、自动发帖源码
C++.VC++.MFC网页自动注册.登陆.发帖.留言,QQ注册.QQ申请器源码.注册邮箱源码.自动发帖源码 参考资料: 自动登录yahoo邮箱http://blog.csdn.net/suisu ...
- 用VC++MFC做文本编辑器(单文档模式)
用VC++MFC做文本编辑器(单文档模式) 原来做过一个用对话框实现的文本编辑器,其实用MFC模板里面的单文档模板也可以做,甚至更加方便,适合入门级的爱好者试试,现介绍方法如下: < xmlna ...
- VC++编写简单串口上位机程序
VC++编写简单串口上位机程序 转载: http://blog.sina.com.cn/s/articlelist_1809084904_0_1.html VC++编写简单串口上位机程序 串口通信 ...
- OC编写使用调试器
OC编写使用调试器 编写代码免不了,Bug.那么Debug就是程序员的必备技能了.本文和大家一起探讨,如何在应用开发编写代码过程中,使用日志项消息:以及使用动作.条件.迭代控制增强断点. 记录信息 在 ...
- jQueryMobile 网页在UC等游览器上无法正常显示或者是无法自适应设备大小,但在QQ游览器上能正常显示的解决方法
造成jQueryMobile网页在QQ游览器上能正常显示,在UC等游览器上无法正常显示或者是无法自适应设备大小的解决方法: 在<head>标签间添加<meta name=" ...
- VC++中操作XML(MFC、SDK)转
[转]VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++ ...
- C#编写媒体播放器--Microsoft的Directx提供的DirectShow组件,该组件的程序集QuartzTypeLib.dll.
使用C#编写媒体播放器时,需要用到Microsoft的Directx提供的DirectShow组件.用该组件前需要先注册程序集QuartzTypeLib.dll. 1.用QuartzTypeLib.d ...
- 远程控制编写之屏幕传输 MFC实现 屏幕截图 发送bmp数据 显示bmp图像
远程控制编写之屏幕传输 MFC实现 屏幕截图 发送bmp数据 显示bmp图像: 一 : 首先要了解bmp图像的结构 详情请看我转载的一篇文章http://blog.csdn.net/hnust_x ...
随机推荐
- java语法基础(三)
类和对象 面向对象语言概述 java是一种面向对象的语言,什么是面向对象的语言? 要搞清楚什么是面向对象语言,我们需要相对的了解一下面向过程的语言. java入门阶段,我们又给大家说过一些语言的分类, ...
- java语法基础(一)
这个是自己前两年做java视频教程时候的课件.感兴趣的同学可以参考下. 这里是纯粹的语法行总结. editplus的使用 选择项目目录 打开editplus 左侧目录导航栏 可以打开盘符,文件夹 可以 ...
- A - BBQ Easy
Score : 200 points Problem Statement Snuke is having a barbeque party. At the party, he will make N ...
- silverlight DataGrid 显示篇
silverlight DataGrid 显示篇 分类: Silverlight2012-05-12 21:55 693人阅读 评论(0) 收藏 举报 datagridsilverlightbindi ...
- 部署到Linux并配置Java定时任务
Java项目部署到Linux并配置定时任务 https://blog.csdn.net/u013850277/article/details/53447391 1.在Eclipse中将程序开发好,并进 ...
- bzoj1513
二维线段树 听说二维线段树不能下传标记? 就是裸的二维线段树,由于每次高度只能增加,所以我们就可以标记永久化 每个线段树里有两个数组,mx和mark,每次修改路径上所有mx都要修改,mark是区间的精 ...
- 从事UNIX/LInux服务器编程最方便的代码编译工具------(eclipse for c/c++)、(FileZilla)、(Secure CRT) 这三种一定要一起使用 之1
今天主要是将前几天搞的Linux学习的心得写出来,希望帮助更多的人进行,方便从事Unix和Linux编程的同行和刚入门者.主要介绍三种工具并给出安装过程,请大家不必怀疑这个博文,此博文是我自己原创.请 ...
- H5的draggable属性和jqueryUI.sortable
拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 一.HTML5 新特性 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. Event On Event Handler 描述 d ...
- 【WIP】markdown
创建: 2018/03/18 [任务表]TODO 这个博客从来不点发布到首页, 完全100%自用, 全部详细完整的干货.千辛万苦找到这里看到一片空白, 是不是很愤怒? 那就对啦233333
- 线程Coroutines 和 Yield(转)
之前一直很纠结这个问题,在网上找到了这篇文章,给大家分享下: 第一种方法: void Start() { print("Starting " + Ti ...