最近玩QQ宠物,他总是心情低落,让我很不爽,让他玩耍吧,还得自己点鼠标,所以想偷个懒,试试能不能编个程序让电脑帮我做这个事情。

  要干这件事就得先找一个游戏开刀,刚开始我找的是弹力球游戏,不就是点鼠标么,以前我发现这个游戏有个bug点,就是在宠物抛球的出手点那里,只要一直点就可以保证球不会掉到地上去,所以写了一个简单的鼠标钩子程序,刚开始运行得好好的,能够实现我要的结果,但是后来不知道怎么回事,怎么改怎么不工作,让我很不爽,一气之下,咱不玩了!所以选择了吹泡泡,发现貌似吹泡泡更简单~~~~呵呵。做如下分析:

  这个游戏主要也是点鼠标,只要在小企鹅吹出来的泡泡上点鼠标就可以得一分,每五分就可以增加心情,有时还能增加元宝呢。所以,不就是点鼠标么~~~我首先想到的也是鼠标钩子。

  到网上下载了一个查看鼠标所指的窗口的名称的小程序,查到小企鹅吹出的泡泡其实每个泡泡就是一个新的窗口,名字以XXX,bubble**命名,其中,XXX带包难度,前10个泡泡对应的是简单,即XXX为simple,11到31个为中等,即XXX为center,后面的为难,即difficult,我试了100多个,再后面还有没有区分就不知道了,知道的读者麻烦告诉我一下。

  既然泡泡是一个窗口,而且只要点击了这个窗口就会得一分,那我只要获取到窗口的名字,再通过名字找到句柄,通过窗口句柄而给窗口发送点击的消息,这不就完成任务了么?这就开始了:

  我是直接在我下载的那个查看窗口的基础上改的,他原来就有鼠标钩子,所以我只需要在鼠标钩子函数里面加上如下代码即可:


HWND wnd;
CString name;
for (int i=0;i<300;i++)//一共设置了300个泡泡,估计够用了,不够的话自己改吧
{//这个for循环就是用来给窗口设置名字,以便查找窗口
if (i<11)
{
name.Format("simple,bubble%d",i);
}
else if (i<32)
{
name.Format("center,bubble%d",i);
}
else if (1)
{
name.Format("difficult,bubble%d",i);
} wnd = ::FindWindow(NULL,name);//开始查找窗口 if (wnd&&flag==0)//如果找到窗口,这个flag没用,删了即可
{
::SetWindowPos(wnd,NULL,400,400,100,100,SWP_NOSIZE);//把所有的泡泡都吸到一个点去
::SetWindowPos(wnd,NULL,400,400,100,100,SWP_NOMOVE);//让泡泡不准再移动
::SendMessage(wnd,WM_LBUTTONDBLCLK,MK_LBUTTON,MAKELONG(22,22));//发送鼠标点击消息
wnd = NULL;//这句没用
}
} HWND wnd;
CString name;
for (int i=0;i<300;i++)//一共设置了300个泡泡,估计够用了,不够的话自己改吧
{//这个for循环就是用来给窗口设置名字,以便查找窗口
if (i<11)
{
name.Format("simple,bubble%d",i);
}
else if (i<32)
{
name.Format("center,bubble%d",i);
}
else if (1)
{
name.Format("difficult,bubble%d",i);
} wnd = ::FindWindow(NULL,name);//开始查找窗口 if (wnd&&flag==0)//如果找到窗口,这个flag没用,删了即可
{
::SetWindowPos(wnd,NULL,400,400,100,100,SWP_NOSIZE);//把所有的泡泡都吸到一个点去
::SetWindowPos(wnd,NULL,400,400,100,100,SWP_NOMOVE);//让泡泡不准再移动
::SendMessage(wnd,WM_LBUTTONDBLCLK,MK_LBUTTON,MAKELONG(22,22));//发送鼠标点击消息
wnd = NULL;//这句没用
}
}

QQ宠物吹泡泡游戏小助手 VC++6.0代码分析的更多相关文章

  1. 【程序员小助手】Emacs,最强编辑器,没有之一

    内容简介 1.Emacs简介 2.Emacs三个平台的安装与配置 3.自动补全插件 4.小编的Emacs配置文件 5.常用快捷方式 6.和版本控制系统的配合(以SVN为例) [程序员小助手]系列 在这 ...

  2. Windows版词汇小助手V3.0发布了

    欢迎使用词汇小助手 作者:IT小小龙 电子邮箱:long_python@126.com 个人博客:http://blog.sina.com.cn/buduanqs 一款跨平台词汇查询记忆学习软件. 已 ...

  3. 词汇小助手V3.0发布了——不只是一个查单词的软件

    欢迎使用词汇小助手 作者:IT小小龙 电子邮箱:long_python@126.com 个人博客:http://blog.sina.com.cn/buduanqs 一款跨平台词汇查询记忆学习软件. 已 ...

  4. 【程序员小助手】Synergy,感受穿越屏幕之美

    内容简介 1.Synergy简介 2.Synergy安装与配置 3.附录 [程序员小助手]系列 在这个系列文章中(不定期更新),小编会把这些年(也没几年)的编程学习和工作中使用到的个人感觉非常好的软件 ...

  5. 【mac微信小助手】WeChatPlugin使用教程!

    微信小助手 mac版集微信防撤回和微信多开等诸多功能于一身,可以有效的阻止朋友微信撤回消息,还能开启无手机验证登录,再也不用每次登录扫码验证啦,非常方便!   wechatplugin mac版安装教 ...

  6. 基于 Serverless +企业微信打造 nCoV 疫情监控小助手

    最近的一些疫情信息很让人揪心,为了方便大家掌握疫情信息,在空闲之余做了一个关于 nCoV 的疫情监控小助手.主要的功能是通过企业微信的 WebHook 来推送疫情信息.这里将使用 Serverless ...

  7. 发布代码小助手V2.1发布了——Code2HTML工具

    设计起源: 新浪博客似乎没有插入代码的功能,所以不得不用打空格的方法格式化代码.而且没法显示行号. 描述: 发布代码小助手用python和Tkinter开发,可以在任何常见操作系统上运行.主要用于在不 ...

  8. 书签小助手V1.1发布了

    更新信息: 1.修改了部分BUG;2.添加了一些不错的网站:3.重新设计了添加书签和编辑书签的界面. 安装说明: 类Ubuntu系统: 1.安装Python3解释器和Python3-tk sudo a ...

  9. 环境监测小助手V1.1的Windows版

    环境监测小助手V1.1——可以实时查看空气质量和城市排名 一款跨平台空气质量监测软件 数据来源互联网,请联网使用. 暂不支持效果预览. 下载地址:http://files.cnblogs.com/py ...

随机推荐

  1. [Javascript] Fetch API

    fetch() does the same thing as XHR, but fetch return a promise. fetch('password.txt', { 'method': 'P ...

  2. android104 帧动画,补间动画,属性动画

    ##帧动画FrameAnimation* 多张图片快速切换,形成动画效果* 帧动画使用xml定义 package com.itheima.frameanimation; import android. ...

  3. 阿里技术保障-KeepAlive

    http://blog.sina.cn/dpool/blog/s/blog_e59371cc0102ux5w.html?wm=3049_a111

  4. FAQ系列 | 解读EXPLAIN执行计划中的key_len

    http://imysql.com/2015/10/20/mysql-faq-key-len-in-explain.shtml

  5. 敏捷软件工程(agile software development) VS传统软件工程(traditional software development)

    敏捷软件工程(agile software development) VS传统软件工程(traditional software development)      Agile principle  ...

  6. python调用smtplib模块发送邮件

    #!/usr/bin/env python #coding: utf-8 import smtplib from email.mime.text import MIMEText from email. ...

  7. find命令基本使用一览

    find命令相对于locate这种非实时查找的搜索命令,大大增加了我们搜索的便捷度以及准确性:并且能够方便的帮助我们对大文件.特定类型的文件查找与删除,特别是有超多小碎文件的时候,更是方便至极.... ...

  8. APUE(1)——UNIX基本概念

    1.OS——操作系统是管理硬件资源的软件,也称作内核.与此同时,操作系统还为其他程序提供一系列的服务,比如执行程序.打开文件.读文件等等. 2.Kernel——内核对外提供一系列的系统调用,而一些库又 ...

  9. ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

    检查插入的值是否大于该字段数据类型约束的长度. 这个异常是指,用户向数据库执行插入数据操作时,某条数据的某个字段值过长,如 果是varchar2类型的,当长度超过2000,--4000(最大值)之间的 ...

  10. ASIC 前端功能验证等级与对应年薪划分[个人意见] (2011-07-04 15:33:35

    下面的讨论转载自eetop,我选取了一些有意义的讨论,加了我的评注. 楼主zhhzhuawei认为 ===================================== 对于ASIC的前端功能验 ...