按键精灵--VS挤房器

程序下载地址 10月19日更新 http://u.115.com/file/f57d346f92

 

晕...估计是CSDN抽了,上传了两次都不能下,火了,换成115网盘,可以用迅雷下载

 

刚开始时,只想给自己弄一个,然后就简简单单的使用了录制功能,结果发现,这样不够准确,于是就决定自己编程写一个,随后就掉入了这个深渊中。。。大前天吧,竟然弄到了3点,我都觉得不可思议,更不可思议的是,早上8点就醒了,起来后,竟然继续弄。。。我开始佩服我自己了~什么是按键精灵?自己百度去~

 

言归正传,现在讲讲我按键精灵编程的学习心得。

 

按键精灵的程序是用汇编和vbs编程的,这是我写的最早版本的VS挤房器,版本为1.0。是根据自己电脑的情况编写的,目前应该只适用于1280*800分辨率,并且任务栏隐藏的电脑。

我的思路是:利用GetCUrsorPos获取当前鼠标位置,并且保存,即将要挤房间位置记住,然后利用到一个死循环,先等待5秒,由于VS挤房成功后,在右下方的启动游戏按钮是黄色的,于是我并利用这个黄色判断是否挤房成功,如果失败的话,就将鼠标移动弹出窗口的取消按钮,然后按下,接着等待10秒后,移到刚刚保存的鼠标位置,双击重新开始循环挤房,共计时间间隔为15秒。

代码如下:

 

 

没过多久,就想到了一件事,这个VS挤房器的使用情况是一些朋友都进了满的房间,而另外几个却没进去,这个时候,大家就都需要这软件了,而不是就我一个人用。

于是我就准备弄第二版,即1.2。思路大致同上,只增加了不同分辨率的判断,利用按键精灵的插件获取电脑的分辨率,然后使用Select Case语句进行流程控制。

与之前一版相比,新增内容如下:

1.增加了对另外一个1366*768分辨率的支持

2.考虑到用户电脑配置和网速的差异,添加了用户自定义时间间隔变量

3.将挤房成功的条件改成判断启动游戏旁边那一片蓝色横条上。

4.挤房成功后,会有蜂鸣和弹出对方框提示。

 

 

依旧是没过多久-_-|||。。。我想到了分辨率是很多很多的,我不可能一一去试,获得该分辨率的按钮坐标之类的,于是我就在想能不能制作适用于所有分辨率的程序呢?最开始我想到了利用屏幕分辨率的比例来决定坐标,不过没过多久就被我否决了,因为我发现,VS平台窗口的一部分是不随分辨率而改变的,而且windows的任务栏是否隐藏对坐标也很有影响,第一方案失败。

那个时候我同时也在研究后台挤房(作为文章最后再讲解),发现了一个功能,能获取当前窗口的大小,于是我就想利用VS平台窗口大小,然后进行定位坐标位置,因为VS平台窗口大小的改变,只对房间列表产生大小变化,而且挤房失败的弹出窗口不受分辨率影响,它是位于VS平台窗口的最中央。换句话说,我要使用的坐标有起始房间坐标,判断是否进入房间坐标,若没进入,则按取消按钮坐标,判断是否已在房间坐标,若已在房间,则按是按钮坐标。这些坐标都可以根据VS平台窗口大小来判断。

我将这个版本称为1.3,更新日记如下:

1. 对所有分辨率都能适用

2. 对于最新VS3.1平台版本能自动判断是否已在房间,而3.0版本由于没有显著颜色差异,导致无法判断

3. 将判断是否已进入房间的条件改成了左中央的那条充值帮助上,背景是褐红色的,虽然这个有点小,并且是进入房间后,最后一个加载的,所以对于判断会造成相应的延迟,但是,这个位置恰好是不随分辨率大小而变化的,而且是3.1和3.0平台重合图片。

4. 将挤房失败的按钮放到了右上方X上,原因是。。。我想给3.1和3.0版本找一个共同位置,结果发现还是没有重合,懒的改回去了。

5. 将挤房器分为两个版本,大家根据自己的平台使用相应的版本。

最后提下后台操作:

这是最令我崩溃的事。。。研究了好久,才发现,我对于后台完全是新手。。。

第一次,将VS平台最小化,然后进行试验,失败,后来发现是因为VS最小化后,与之相应的窗口也就不见的。。。按键精灵无法对其进行操作。

第二次,利用窗口句柄,结果发现弹出窗口的句柄无法找到。。。悲剧。。。现在就卡在这一步,无法按到取消VS失败的弹出窗口。

第三次。。。。

最后的结论是,对于后台,我还要研究研究

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值