能真正后台运行的按键精灵代码支持最小化和切换窗口.docx

上传人:b****7 文档编号:26343446 上传时间:2023-06-17 格式:DOCX 页数:9 大小:17.15KB
下载 相关 举报
能真正后台运行的按键精灵代码支持最小化和切换窗口.docx_第1页
第1页 / 共9页
能真正后台运行的按键精灵代码支持最小化和切换窗口.docx_第2页
第2页 / 共9页
能真正后台运行的按键精灵代码支持最小化和切换窗口.docx_第3页
第3页 / 共9页
能真正后台运行的按键精灵代码支持最小化和切换窗口.docx_第4页
第4页 / 共9页
能真正后台运行的按键精灵代码支持最小化和切换窗口.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

能真正后台运行的按键精灵代码支持最小化和切换窗口.docx

《能真正后台运行的按键精灵代码支持最小化和切换窗口.docx》由会员分享,可在线阅读,更多相关《能真正后台运行的按键精灵代码支持最小化和切换窗口.docx(9页珍藏版)》请在冰豆网上搜索。

能真正后台运行的按键精灵代码支持最小化和切换窗口.docx

能真正后台运行的按键精灵代码支持最小化和切换窗口

能真正后台运行的按键精灵代码支持最小化和切换窗口

能真正后台运行的按键精灵代码是附2,详细应用是附3.均可直接复制使用.

主题:

按键精灵 切换窗口 最小化 后台运行 游戏 

1、游戏句柄

后台的意思就是当窗口被遮盖或移开的时候,仍能够正常的执行脚本动作,所以必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本

语句有正确的使用方向,获取窗口句柄的方法有很多,我一般使用以下的方法:

Dimhwnd

Pluginhwnd=Window.MousePoint()

Plugin是调用插件命令,凡是调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()返回鼠标所在的窗口

的句柄

关于窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不一样的,游戏窗口是IE的一个子窗口,因

此在运行脚本前,将你的鼠标放在游戏窗口的区域内再运行脚本。

得到句柄费函数很多,有兴趣的自己去试试看,不过知道一个就足够了。

2、模拟动作

得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已经有7了以前的插件就不作介绍了),模拟

动作的函数有如下几个

-模拟鼠标点击

PluginBkgnd.LeftClick(句柄,横坐标,纵坐标)//模拟鼠标左键点击

PluginBkgnd.RightClick(句柄,横坐标,纵坐标)//模拟鼠标右键点击

其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^关于这一点足足困扰了

我一个xx的时间才弄xx)。

屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕分辨率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑

窗口的0,0位置是在工具栏下面的,看不懂也没关系,你只要记住下面的方法就行了,首先在得到窗口句柄后加上如下的代码:

Plugins=Window.GetClientRect(hwnd)

XYArray=Split(s,"|",-1,1)

dx=XYArray(0)

dy=XYarray

(1)

其次,在横坐标和纵坐标的后面都分别减去dx和dy就行了,为什么!

不用去管他,反正这样做不会错,举例说明

例如你抓点得到的横坐标是x,纵坐标是y,那么模拟鼠标左键点击的语句应该是这样的:

PluginBkgnd.LeftClick(句柄x-dx,y-dy)

-模拟键盘动作

PluginBkgnd.KeyPress(句柄,按键码)//模拟键盘动作

这里的按键码可以很容易的在按键精灵中查到,包括组合键

-输入字符串

PluginWindow.SendString(句柄,字符串)

这个函数在登陆和喊话时是非常有用的,其中的字符串可以是字符串变量

3、后台找色

后台脚本尽量少用找色语句,否则你的游戏将“卡巴死机”,即使少用也会出现很多的“xx”幸运的是不影响找色功能,即使游戏图像已经乱

七八糟,既然是要后台操作,难看就难看吧^_^。

Pluginc1=BkgndColor.GetPixelColor(hwnd,631-dx,121-dy)

强烈建议用这个函数,至于什么区域找色,区域照图之类,如果你的电脑速度足够快再去尝试吧。

找色是有技巧的,一定要找到一个不同画面分别对应不同颜色的点,当然只有一个点是不可靠的。

我的思路是,找到几个点的颜色值记录下来

,再根据这几个点的不同组合来决定脚本的走向,采取这种方法后,我在游戏时已经基本可以看到大体的画面了。

附1

Delay3000

Hwnd=Plugin.Window.MousePoint()

Rema

CallPlugin.Bkgnd.KeyPress(Hwnd,50)

Delay5000 

Gotoa

附2:

另一个(试了可行,可直接复制应用)

SetSimMode1

UserVaryanshi=1000隔多久按一次

//下面这句是得到鼠标指向的窗口句柄

PluginHwnd=Window.MousePoint()

Rems

PluginBkgnd.KeyPress(Hwnd,49)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,50)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,51)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,52)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,53)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,54)

Delayyanshi

Gotos

附3,基于附2自己弄的一个后台运行代码,其中UserVaryanshi=200是后面用这句代码的地方"隔多久按一次",也可直接用时间代替.此

句无关紧要.Rems至Gotos期间的代码为找到窗口句柄后的要运行的代码,我们想要的鼠标按键操作都在这期间内.Delay300xx多少时

间,好象是1秒=10000还是多少,在按键精灵里一看就晓得.For3至EndFor期间为循环执行的命令,可以直接在控制命令里面插入,也可手

动录入.简单的说,下面的命令或者说能达到的效果就是"打开一个要运行按键精灵的窗口后,按一下`(代码192),再依次按下1(代码

49),2,3,中间间隔时间为yanshi(前面设定为200,也可直接录入200),按下xx,循环三遍后,再按下8,然后按上面办法分别按下

4,5,6循环三遍后再按下7,最后结束."注意在设置的最右面设置循环次数为"按中止键才中止",以下代码直接复制后即可使用.要按其他

的键盘参照改动即可.可在记事本中看一下调试的具体结果.(从SetSimMode1开始复制至结束)

 

SetSimMode1

UserVaryanshi=200隔多久按一次

//下面这句是得到鼠标指向的窗口句柄

PluginHwnd=Window.MousePoint()

Rems

Delay300

For3PluginBkgnd.KeyPress(Hwnd,192)PluginBkgnd.KeyPress(Hwnd,49)DelayyanshiPluginBkgnd.KeyPress(Hwnd,50)DelayyanshiPluginBkgnd.KeyPress(Hwnd,51)DelayyanshiPluginBkgnd.KeyPress(Hwnd,192)PluginBkgnd.KeyPress(Hwnd,52)DelayyanshiPluginBkgnd.KeyPress(Hwnd,53)DelayyanshiPluginBkgnd.KeyPress(Hwnd,54)DelayyanshiPluginBkgnd.KeyPress(Hwnd,32)

EndFor

PluginBkgnd.KeyPress(Hwnd,104)

Delay300

For3PluginBkgnd.KeyPress(Hwnd,192)PluginBkgnd.KeyPress(Hwnd,49)DelayyanshiPluginBkgnd.KeyPress(Hwnd,50)DelayyanshiPluginBkgnd.KeyPress(Hwnd,51)DelayyanshiPluginBkgnd.KeyPress(Hwnd,192)PluginBkgnd.KeyPress(Hwnd,52)DelayyanshiPluginBkgnd.KeyPress(Hwnd,53)DelayyanshiPluginBkgnd.KeyPress(Hwnd,54)DelayyanshiPluginBkgnd.KeyPress(Hwnd,32)

EndFor

PluginBkgnd.KeyPress(Hwnd,103)

Gotos

 

附四:

补充一个练习,试了N次均能正常运行的后台操作源代码.权当实验练习用.

//能后台运行的仙域钓鱼脚本自编源代码.说明:

单击指点坐标,7秒后,按0一次,再按[四次,在单击另一指定坐标,在弹出的对话框指定坐标处单击.再对另外三处不同的坐标点做相同操作.

SetSimMode1

//模拟方式 1为硬件模拟,2为越级模拟 0为普通模拟

Dimhwnd

UserVaryanshi=300

//间隔时间,也可设置如xx低于某个数时自动运行动作.

PluginHwnd=Window.MousePoint()

//上面这句是得到鼠标指向的窗口句柄

Remaaa

//标记任意点aaa,或者说起始点,到标记goto处结束

//下面几句是得到目标点的相对坐标

Plugins=Window.GetClientRect(hwnd)

XYArray=Split(s,"|",-1,1)

dx=XYArray(0)

dy=XYarray

(1)

//上面四句代码得到目标坐标的相对坐标的dx和dy值

PluginBkgnd.LeftClick(hwnd,500-dx,300-dy)

//在坐标(500,300)单击左键

Delay7000

PluginBkgnd.KeyPress(Hwnd,96)

//按一下0键

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

//按一下[键

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.LeftClick(hwnd,670-dx,170-dy)

//在坐标(670,170)单击左键

Delayyanshi

PluginBkgnd.LeftClick(hwnd,350-dx,510-dy)

//在坐标(350,510)单击左键

Delayyanshi

Delay3000

//上面是第一个号,后面几个号同理操作,不再重复解说

PluginBkgnd.LeftClick(hwnd,500-dx,400-dy)

//在坐标(500,400)单击左键

Delay3000

PluginBkgnd.KeyPress(Hwnd,96)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.LeftClick(hwnd,670-dx,170-dy)

Delayyanshi

PluginBkgnd.LeftClick(hwnd,350-dx,510-dy)

Delayyanshi

Delay3000

//上面是第二个号

PluginBkgnd.LeftClick(hwnd,500-dx,500-dy)

//在坐标(500,500)单击左键

Delay3000

PluginBkgnd.KeyPress(Hwnd,96)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.LeftClick(hwnd,670-dx,170-dy)

Delayyanshi

PluginBkgnd.LeftClick(hwnd,350-dx,510-dy)

Delayyanshi

Delay3000

//上面是第三个号

PluginBkgnd.LeftClick(hwnd,500-dx,600-dy)

//在坐标(500,600)单击左键

Delay3000

PluginBkgnd.KeyPress(Hwnd,96)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.KeyPress(Hwnd,219)

Delayyanshi

PluginBkgnd.LeftClick(hwnd,670-dx,170-dy)

Delayyanshi

PluginBkgnd.LeftClick(hwnd,450-dx,510-dy)

Delayyanshi

//上面是第四个号

Gotoaaa

EndIf

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1