使用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 ...
随机推荐
- struts2的一些小问题
1.action和ValueStack的关系2.ValueStack的类set()方法和setValue()方法的区别3.ValueStack的类push()方法的作用4.从ValueStack对象中 ...
- 在VS2010下使用AppFace
AppFace的介绍网上一大堆,此文仅为自己作个记录,方便以后查看. 一.需要的文件:1.AppFace.h 2.appface.lib 3.appface.dll 4.macosx_af.urf ...
- jackson实体为NULL或者为空不显示
1.实体上 @JsonInclude(JsonInclude.Include.NON_NULL) 将该注解放在属性上,如果该属性为null则不参与序列化: 如果放在类上边,那对这个类的全部属性起作用 ...
- 线程之间的通信socketpair【学习笔记】【原创】
平台信息:内核:linux3.1.0系统:android5.0平台:tiny4412 作者:庄泽彬(欢迎转载,请注明作者) 说明: 韦老师的安卓视频学习笔记 一.在一个进程中多个线程如何进行通信,主要 ...
- 集成到Buildroot中的Helloword程序【转】
本文转载自:http://www.openloongson.org/forum.php?mod=viewthread&tid=85 本帖最后由 gt945 于 2015-7-5 17:06 编 ...
- YTU 1005: 渊子赛马
1005: 渊子赛马 时间限制: 1000 Sec 内存限制: 64 MB 提交: 338 解决: 49 题目描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为&qu ...
- 洛谷P2607 [ZJOI2008]骑士(基环树)
传送门 首先这是一个有$n$个点$n$条边的图(据大佬们说这玩意儿叫做基环树?) 不难(完全没有)发现每个连通块里最多只有一个环 那么找到这个环,然后把它断开,再对它的两个端点分别跑树形dp 设$dp ...
- Ocelot(八)- Ocelot不支持的几个方面
不支持 Ocelot不支持的几个方面 Chunked Encoding - Ocelot将始终获取正文大小并返回Content-Length标头.很抱歉,如果这对您的用例不起作用! 转发主机标头 - ...
- AOP日志框架实现
AOP日志框架实现 JDK动态代理实现日志框架 首先,在项目包com.ay.test 下创建业务接口类BusinessClassService,具体代码如下: BusinessC lassServic ...
- java-使用反射实现ORM映射
自定义两个注解 package com.moon.ROM; import java.lang.annotation.ElementType; import java.lang.annotation.R ...