文档库 最新最全的文档下载
当前位置:文档库 › 浏览器输入网址后台怎么运行

浏览器输入网址后台怎么运行

浏览器输入网址后台怎么运行
浏览器输入网址后台怎么运行

浏览器输入网址后台怎么运行

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。

本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~

1. 首先嘛,你得在浏览器里输入要网址:

2. 浏览器查找域名的IP地址

导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下:

浏览器缓存–浏览器会缓存DNS记录一段时间。有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2

分钟到30分钟不等)。

系统缓存–如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname)。这样便可获得系统缓存中的记录。

路由器缓存–接着,前面的查询请求发向路由器,它一般会有自己的DNS缓存。

ISP DNS 缓存–接下来要check的就是ISP缓存DNS的服务器。在这一般都能找到相应的缓存记录。

递归搜索–你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从.com 顶级域名服务器到Facebook的域名服务器。一般DNS服务器的缓存中会有.com

域名服务器中的域名,所以到顶级服务器的匹配过程不是那么必要了。

DNS递归查找如下图所示:

DNS有一点令人担忧,这就是像https://www.wendangku.net/doc/8618935639.html, 或者 https://www.wendangku.net/doc/8618935639.html,这样的整个域名看上去只是对应一个单独的IP地址。还好,有几种方法可以消除这个瓶颈:

循环 DNS 是DNS查找时返回多个IP时的解决方案。举例来说,https://www.wendangku.net/doc/8618935639.html,

实际上就对应了四个IP地址。

负载平衡器是以一个特定IP地址进行侦听并将网络请求转发到集群服务器上

的硬件设备。一些大型的站点一般都会使用这种昂贵的高性能负载平衡器。

地理 DNS 根据用户所处的地理位置,通过把域名映射到多个不同的IP地址提高可扩展性。这样不同的服务器不能够更新同步状态,但映射静态内容的话非常好。

Anycast 是一个IP地址映射多个物理主机的路由技术。美中不足,Anycast与TCP协议适应的不是很好,所以很少应用在那些方案中。

大多数DNS服务器使用Anycast来获得高效低延迟的DNS查找。

3. 浏览器给web服务器发送一个HTTP请求

因为像Facebook主页这样的动态页面,打开后在浏览器缓存中很快甚至马上就会过期,毫无疑问他们不能从中读取。

所以,浏览器将把一下请求发送到Facebook所在的服务器:

GET https://www.wendangku.net/doc/8618935639.html,/ HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...] User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...] Accept-Encoding: gzip, deflate Connection: Keep-Alive Host: https://www.wendangku.net/doc/8618935639.html, Cookie:

datr=1265876274-[...]; locale=en_US; lsd=WW[...]; c_user=2101[...]

GET 这个请求定义了要读取的URL:“https://www.wendangku.net/doc/8618935639.html,/”。浏览器自身定义 (User-Agent 头),和它希望接受什么类型的相应 (Accept and

Accept-Encoding 头). Connection头要求服务器为了后边的请求不要关闭TCP 连接。

请求中也包含浏览器存储的该域名的cookies。可能你已经知道,在不同页面请求当中,cookies是与跟踪一个网站状态相匹配的键值。这样 cookies会存储登录用户名,服务器分配的密码和一些用户设置等。Cookies会以文本文档形式存储在客户机里,每次请求时发送给服务器。

用来看原始HTTP请求及其相应的工具很多。作者比较喜欢使用fiddler,当然也有像FireBug这样其他的工具。这些软件在网站优化时会帮上很大忙。

除了获取请求,还有一种是发送请求,它常在提交表单用到。发送请求通过URL 传递其参数(e.g.: https://www.wendangku.net/doc/8618935639.html,/puzzle.aspx?id=85)。发送请求在请求正文头之后发送其参数。

像“https://www.wendangku.net/doc/8618935639.html,/”中的斜杠是至关重要的。这种情况下,浏览器能安全的添加斜杠。而像“http: //https://www.wendangku.net/doc/8618935639.html,/folderOrFile”这样的地址,因为浏览器不清楚folderOrFile到底是文件夹还是文件,所以不能自动添加斜杠。这时,浏览器就不加斜杠直接访问地址,服务器会响应一个重定向,结果造成一次不必要的握手。

4. facebook服务的永久重定向响应

图中所示为Facebook服务器发回给浏览器的响应:

HTTP/1.1 301 Moved Permanently Cache-Control: private, no-store,

no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Sat, 01 Jan 2000 00:00:00 GMT Location: https://www.wendangku.net/doc/8618935639.html,/ P3P: CP="DSP LAW" Pragma: no-cache Set-Cookie: made_write_conn=deleted; expires=Thu, 12-Feb-2009 05:09:50 GMT; path=/; domain=https://www.wendangku.net/doc/8618935639.html,; httponly Content-Type: text/html; charset=utf-8 X-Cnection: close Date: Fri, 12 Feb 2010 05:09:51 GMT Content-Length: 0

服务器给浏览器响应一个301永久重定向响应,这样浏览器就会访问

“https://www.wendangku.net/doc/8618935639.html,/” 而非“https://www.wendangku.net/doc/8618935639.html,/”。

为什么服务器一定要重定向而不是直接发会用户想看的网页内容呢?这个问题有好多有意思的答案。

其中一个原因跟搜索引擎排名有关。你看,如果一个页面有两个地址,就像https://www.wendangku.net/doc/8618935639.html,/ 和https://www.wendangku.net/doc/8618935639.html,/,搜索引擎会认为它们是两个网站,结果造成每一个的搜索链接都减少从而降低排名。而搜索引擎知道301永久重定向是什么意思,这样就会把访问带www的和不带www的地址归到同一个网站排名下。

还有一个是用不同的地址会造成缓存友好性变差。当一个页面有好几个名字时,它可能会在缓存里出现好几次。

5. 浏览器跟踪重定向地址

现在,浏览器知道了“https://www.wendangku.net/doc/8618935639.html,/”才是要访问的正确地址,所以它会发送另一个获取请求:

GET https://www.wendangku.net/doc/8618935639.html,/ HTTP/1.1 Accept:

application/x-ms-application, image/jpeg, application/xaml+xml, [...] Accept-Language: en-US User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...] Accept-Encoding: gzip, deflate Connection: Keep-Alive Cookie: lsd=XW[...]; c_user=21[...]; x-referer=[...] Host: https://www.wendangku.net/doc/8618935639.html,

头信息以之前请求中的意义相同。

6. 服务器“处理”请求

服务器接收到获取请求,然后处理并返回一个响应。

这表面上看起来是一个顺向的任务,但其实这中间发生了很多有意思的东西- 就像作者博客这样简单的网站,何况像facebook那样访问量大的网站呢!

Web 服务器软件

web服务器软件(像IIS和阿帕奇)接收到HTTP请求,然后确定执行什么请求处理来处理它。请求处理就是一个能够读懂请求并且能生成HTML来进行响应的程序(像https://www.wendangku.net/doc/8618935639.html,,PHP,RUBY...)。

举个最简单的例子,需求处理可以以映射网站地址结构的文件层次存储。像https://www.wendangku.net/doc/8618935639.html,/folder1/page1.aspx这个地址会映射

/httpdocs/folder1/page1.aspx这个文件。web服务器软件可以设置成为地址人工的对应请求处理,这样 page1.aspx的发布地址就可以是

https://www.wendangku.net/doc/8618935639.html,/folder1/page1。

请求处理

请求处理阅读请求及它的参数和cookies。它会读取也可能更新一些数据,并讲数据存储在服务器上。然后,需求处理会生成一个HTML响应。

所有动态网站都面临一个有意思的难点 -如何存储数据。小网站一半都会有一个SQL数据库来存储数据,存储大量数据和/或访问量大的网站不得不找一些办法把数据库分配到多台机器上。解决方案有:sharding (基于主键值讲数据表分散到多个数据库中),复制,利用弱语义一致性的简化数据库。

委托工作给批处理是一个廉价保持数据更新的技术。举例来讲,Fackbook得及时更新新闻feed,但数据支持下的“你可能认识的人”功能只需要每晚更新(作者猜测是这样的,改功能如何完善不得而知)。批处理作业更新会导致一些不太重要的数据陈旧,但能使数据更新耕作更快更简洁。

7. 服务器发回一个HTML响应

图中为服务器生成并返回的响应:

HTTP/1.1 200 OK Cache-Control: private, no-store, no-cache,

must-revalidate, post-check=0, pre-check=0 Expires: Sat, 01 Jan 2000 00:00:00 GMT P3P: CP="DSP LAW" Pragma: no-cache Content-Encoding: gzip Content-Type: text/html; charset=utf-8 X-Cnection: close

Transfer-Encoding: chunked Date: Fri, 12 Feb 2010 09:05:55 GMT

2b3Tn@[...]

整个响应大小为35kB,其中大部分在整理后以blob类型传输。

内容编码头告诉浏览器整个响应体用gzip算法进行压缩。解压blob块后,你可以看到如下期望的HTML:

关于压缩,头信息说明了是否缓存这个页面,如果缓存的话如何去做,有什么cookies要去设置(前面这个响应里没有这点)和隐私信息等等。

请注意报头中把Content-type设置为“text/html”。报头让浏览器将该响应内容以HTML形式呈现,而不是以文件形式下载它。浏览器会根据报头信息决定如何解释该响应,不过同时也会考虑像URL扩展内容等其他因素。

8. 浏览器开始显示HTML

在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了:

9. 浏览器发送获取嵌入在HTML中的对象

在浏览器显示HTML时,它会注意到需要获取其他地址内容的标签。这时,浏览器会发送一个获取请求来重新获得这些文件。

下面是几个我们访问https://www.wendangku.net/doc/8618935639.html,时需要重获取的几个URL:

图片

https://www.wendangku.net/doc/8618935639.html,/2013/0228/1362014211396.gif

https://www.wendangku.net/doc/8618935639.html,//

CSS 式样表

https://www.wendangku.net/doc/8618935639.html,/rsrc.php/z448Z/hash/2plh8s4n.css

https://www.wendangku.net/doc/8618935639.html,/rsrc.php/zANE1/hash/cvtutcee.css

JavaScript 文件

https://www.wendangku.net/doc/8618935639.html,/rsrc.php/zEMOA/hash/c8yzb6ub.js

https://www.wendangku.net/doc/8618935639.html,/rsrc.php/z6R9L/hash/cq2lgbs8.js

这些地址都要经历一个和HTML读取类似的过程。所以浏览器会在DNS中查找这些域名,发送请求,重定向等等...

但不像动态页面那样,静态文件会允许浏览器对其进行缓存。有的文件可能会不需要与服务器通讯,而从缓存中直接读取。服务器的响应中包含了静态文件保存的期限信息,所以浏览器知道要把它们缓存多长时间。还有,每个响应都可能包含像版本号一样工作的ETag头(被请求变量的实体值),如果浏览器观察到文件的版本 ETag信息已经存在,就马上停止这个文件的传输。

试着猜猜看“https://www.wendangku.net/doc/8618935639.html,”在地址中代表什么?聪明的答案是"Facebook内容分

发网络"。Facebook利用内容分发网络(CDN)分发像图片,CSS表和JavaScript 文件这些静态文件。所以,这些文件会在全球很多CDN的数据中心中留下备份。

静态内容往往代表站点的带宽大小,也能通过CDN轻松的复制。通常网站会使用第三方的CDN。例如,Facebook的静态文件由最大的CDN提供商Akamai来托管。

举例来讲,当你试着ping https://www.wendangku.net/doc/8618935639.html,的时候,可能会从某个https://www.wendangku.net/doc/8618935639.html,服务器上获得响应。有意思的是,当你同样再ping一次的时候,响应的服务器可能就不一样,这说明幕后的负载平衡开始起作用了。

10. 浏览器发送异步(AJAX)请求

在Web 2.0伟大精神的指引下,页面显示完成后客户端仍与服务器端保持着联系。

以 Facebook聊天功能为例,它会持续与服务器保持联系来及时更新你那些亮亮灰灰的好友状态。为了更新这些头像亮着的好友状态,在浏览器中执行的JavaScript代码会给服务器发送异步请求。这个异步请求发送给特定的地址,它是一个按照程式构造的获取或发送请求。还是在Facebook这个例子中,客户端发送给https://www.wendangku.net/doc/8618935639.html,/ajax/chat/buddy_list.php一个发布请求来获取你好友里哪个在线的状态信息。

提起这个模式,就必须要讲讲"AJAX"-- “异步JavaScript 和XML”,虽然服务器为什么用XML格式来进行响应也没有个一清二白的原因。再举个例子吧,对于异步请求,Facebook会返回一些JavaScript的代码片段。

除了其他,fiddler这个工具能够让你看到浏览器发送的异步请求。事实上,你不仅可以被动的做为这些请求的看客,还能主动出击修改和重新发送它们。AJAX 请求这么容易被蒙,可着实让那些计分的在线游戏开发者们郁闷的了。(当然,可别那样骗人家~)

Facebook聊天功能提供了关于AJAX一个有意思的问题案例:把数据从服务器端推送到客户端。因为HTTP是一个请求-响应协议,所以聊天服务器不能把新消息发给客户。取而代之的是客户端不得不隔几秒就轮询下服务器端看自己有没有新消息。

这些情况发生时长轮询是个减轻服务器负载挺有趣的技术。如果当被轮询时服务器没有新消息,它就不理这个客户端。而当尚未超时的情况下收到了该客户的新消息,服务器就会找到未完成的请求,把新消息做为响应返回给客户端。

总结一下

希望看了本文,你能明白不同的网络模块是如何协同工作的.

学会用按键精灵制作游戏脚本之前后台坐标关联教程

学会用按键精灵制作游戏脚本之前后台坐标关联教程 来源:按键学院【按键精灵】 各位大大在切换前后台命令的时候,有没有遇到坐标切换呢~ 有没有发现前后台的命令,对同一个窗体内容,居然坐标不同!! 今天~院刊就跟大家普及下前台坐标与相对应的后台坐标知识~ 什么是前台坐标和后台坐标呢? 什么是前台坐标? 以屏幕左上角的坐标为起点(0,0,从而获取到的各个窗体的坐标,就是前台坐标。 什么是后台坐标? 以窗口左上角为起点(0,0,从而获取到的这个窗体内的相对坐标,就是后台坐标。 如图: 我们来举个栗子吧,例如txt文本里的输入文字的起始点。

至此,各位大大知道前后台坐标的联系了吧。一个是绝对坐标(前台),一个是相对坐标(后台)。 那么如何进行前后台坐标的切换呢 从上图里,聪明机智的小伙伴们就会发现:如果知道了前台坐标,也知道了窗口左上角的值。那么窗口客户区内的 任意后台的坐标,不是都可以通过以下计算来获得了: 后台x坐标=客户区前台x坐标-客户区左上角前台x坐标 后台y坐标=客户区前台y坐标-客户区左上角前台y坐标 如何获得客户区前台的x,y坐标呢? 我们使用按键精灵自带的窗体插件命令:GetWindowRect来获取。 命令名称: GetWindowRect 窗口边框大小 命令功能:得到窗口句柄的边框大小(包括标题栏 命令参数:参数1 整数型,窗口句柄

返回值:字符串型,边框大小(包括标题栏 注:返回为:边框窗口左角X坐标|边框窗口左上角Y坐标|边框窗口右下角X坐标 |边框窗口右下角Y坐标 //下面这句是得到窗口句柄的边框大小(包括标题栏 sRect = Plugin.Window.GetWindowRect(句柄 将你所要获取的窗口句柄填入括号内就可以啦~ 范例举例: 举个萌萌哒的例子:向记事本特定位置输入文字。 例如我要往“hello”和“按键精灵”中间插入文字: 2014-9-17 18:03 上传 下载附件(8 KB 思路: 每次打开记事本的位置,有可能会有变化。而我们又不能每次都要去获取它的坐标再改脚本,这样太费力了。所以呢,只要锁定了记事本,知道了目标在记事本中的相对位置就可以操作啦。 同理,寻找游戏里的物品目标,前台不稳定。后台命令也是基于相对坐标的。 1. 先找到目标窗体的左上角坐标 (通过窗体插件命令:GetWindowRect来获取) 2. 再找到目标窗体内,“hello”和“按键精灵”中间的坐标 (为了方便,我们用抓抓获取。在游戏中,可以通过找图找色来获取前台坐标)

按键精灵图文教程

手把手教你用“按键精灵”图文教程 类型:转载 按键精灵是一个可以模拟电脑操作的软件,您在电脑上的一切动作都可以让按键精灵模拟执行,完全解放您的双手。按键精灵可以帮你操作电脑,不需要任何编程知识就可以作出功能强大的脚本。 如果你还为一些枯燥、繁琐的电脑操作而烦恼,按键精灵绝对会是你最好的帮手。 那么,按键精灵具体能帮我们干什么呢?我们来列举几个例子来说明下。 * 网络游戏中可作脚本实现自动打怪,自动补血,自动说话等; * 办公族可用它自动处理表格、文档,自动收发邮件等; * 任何你觉得“有点烦”的电脑操作都可以替你完成。按键精灵第一个实现了“动动鼠标就可以制作出脚本”的功能。我们不希望为了使用一个小软件而去学习编程知识,考虑到这些,所以按键精灵完全界面操作就可以制作脚本。按键精灵的脚本是纯粹的TXT文件,即使是目前新增了插件功能,也引入了数字签名的机制。因此我们可以放心的使用网站上的脚本而不用担心会有病毒。 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果.我们可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本.今天我们就通过录制一个最简单的脚本,来手把手的教大家使用按键精灵。 上网一族一般开机后会先看看自己邮箱,或者看看自己博客;每天如此,可能都有些烦了。现在好了,把这些繁杂的事情交给按键精灵吧。今天我们就来录制一个自动登录博客,并对整个页面进行浏览的脚本。 首先,我们打开“按键精灵”。其运行界面如下(图1): 图1 运行界面 打开软件后点击工具栏上“新建”项(如图2);之后进入“脚本编译器”界面(如图3)。

按键精灵经典教程

按键精灵经典教程 一、键盘命令(2~5页) 二、鼠标命令(5~13页) 三、控制命令(13~22页) 四、颜色/图像命令(22~28页) 五、其他命令(28~355页)五、网游脚本实例(35~最后)

一、键盘命令 命令名称:GetLastKey 检测上次按键命令功能:检测上次按键 命令参数:参数1 整数型,可选:变量名 返回值:无 脚本例子:(8.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.Key=GetLastKey() 3.If Key = 13 Then 4. Msgbox "你上次按下了回车键" 5.End If 脚本例子:(7.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次 按下的按键码保存在变量Key里。 2.GetLastKey Key 3.If Key = 13 4. Msgbox "你上次按下了回车键" 5.EndIf 命令名称:KeyDown 按住 命令功能:键盘按住 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模

4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 6. 7.KeyDown "A",1 8.//上面的支持按键字符,语句表示按住A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模 拟方式的注意事项 4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次 命令名称:KeyPress 按键 命令功能:键盘按键 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件 模拟方式的注意事项 4.KeyPress 65,1 5.//65是A键的按键码,上面的语句表示按A键1次 6. 7.KeyPress "A",1 8.//上面的支持按键字符,语句表示按A键1次 脚本例子:(7.x语法) 复制代码 1.//KeyPress、KeyPressS、KeyPressH 2.//KeyPressS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要 求,PS2(圆口)和USB接口的键盘都可以使用 3.//KeyPressH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件

按键精灵学习教程

按键精灵学习教程 一、 1、子程序和函数调用演示 //<>---------------------------------------------子程序调用 Call 普通子程序() Call 代入参数的子程序(100,50) //<>---------------------------------------------函数调用 Msgbox 代入参数的函数(100,50) Sub 普通子程序() Msgbox "我是普通子程序,被调用了" End Sub Sub 代入参数的子程序(a,b) c=a+b Msgbox "我是代入参数的子程序,被调用了。结果值为:" & c End Sub Function 代入参数的函数(a,b) c=a*b 代入参数的函数= "我是代入参数的函数,被调用了。结果值为:" & c End Function 2、重启脚本运行演示 For i=0 to 2 Delay 1000 Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 768, "屏幕内容填写" & i, "0000FF") Next RestartScript //重新启动脚本运行 3、中文名变量演示

//<>---------------------------------------------用户自定义变量支持中文名为变量名 UserVar 启动=DropList{"打开":1|"关闭":0}=0 "补血启动开关" UserVar 补血=0 "补血百分比%" //<>---------------------------------------------定义变量支持中文名为变量名 Dim 提示 提示="补血启动开关未设置打开!" If 启动=1 Then Msgbox "补血百分比为:"& 补血& "%" Else Msgbox 提示 End If 4、选择条件结构演示 UserVar 变量=0 "输入(0~9)数字" //<>---------------------------------------------以下是选择条件结结构判断 Select Case 变量 Case 0 Msgbox "你输入的数字为:0" Case 1 Msgbox "你输入的数字为:1" Case 2 Msgbox "你输入的数字为:2" Case 3 Msgbox "你输入的数字为:3" Case Else Msgbox "你输入的数字不正确,请输入(0~3)数字!" End Select 5、下拉型用户自定义 //说明:{}当中是下拉的选项=0是指的默认显示哪个选项(从0开始) UserVar Var1=DropList{"低于10%时补血":"0.1"|"低于20%时补血":"0.2"|"低于30%时补血":"0.3"}=2 "自动补血设置" UserVar Var2=0 "普通自定义变量" MessageBox(Var1) MessageBox(Var2) 6、退出脚本运行演示

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

能真正后台运行的按键精灵代码支持最小化和切换窗口能真正后台运行的按键精灵代码是附2,详细应用是附3.均可直接复制使用. 主题:按键精灵切换窗口最小化后台运行游戏 1、游戏句柄 后台的意思就是当窗口被遮盖或移开的时候,仍能够正常的执行脚本动作,所以必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本 语句有正确的使用方向,获取窗口句柄的方法有很多,我一般使用以下的方法: Dim hwnd Plugin hwnd=Window.MousePoint() Plugin是调用插件命令,凡是调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()返回鼠标所在的窗口 的句柄 关于窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不一样的,游戏窗口是IE的一个子窗口,因 此在运行脚本前,将你的鼠标放在游戏窗口的区域内再运行脚本。 得到句柄费函数很多,有兴趣的自己去试试看,不过知道一个就足够了。 2、模拟动作 得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已经有7了以前的插件就不作介绍了),模拟 动作的函数有如下几个 -模拟鼠标点击 Plugin Bkgnd.LeftClick(句柄,横坐标,纵坐标) //模拟鼠标左键点击 Plugin Bkgnd.RightClick(句柄,横坐标,纵坐标) //模拟鼠标右键点击 其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^关于这一点足足困扰了 我一个礼拜的时间才弄明白)。 屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕分辨率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑

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

真正能实现后台运行的按键精灵代码支持最小化和切换窗口 能真正后台运行的按键精灵代码是附2,详细应用是附3.均可直接复制使用. 主题:按键精灵切换窗口最小化后台运行游戏 1、游戏句柄 后台的意思就是当窗口被遮盖或移开的时候,仍能够正常的执行脚本动作,所以必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本 语句有正确的使用方向,获取窗口句柄的方法有很多,我一般使用以下的方法: Dim hwnd Plugin hwnd=Window.MousePoint() Plugin是调用插件命令,凡是调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()返回鼠标所在的窗口 的句柄 关于窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不一样的,游戏窗口是IE的一个子窗口,因 此在运行脚本前,将你的鼠标放在游戏窗口的区域内再运行脚本。 得到句柄费函数很多,有兴趣的自己去试试看,不过知道一个就足够了。 2、模拟动作 得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已经有7了以前的插件就不作介绍了),模拟 动作的函数有如下几个 -模拟鼠标点击 Plugin Bkgnd.LeftClick(句柄,横坐标,纵坐标) //模拟鼠标左键点击 Plugin Bkgnd.RightClick(句柄,横坐标,纵坐标) //模拟鼠标右键点击 其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^关于这一点足足困扰了 我一个礼拜的时间才弄明白)。 屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕分辨率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑

刷课神器——按键精灵使用教程

刷课神器——按键精灵使用教程 废话少说,直接进入正题。 以下教程皆以按键精灵8.20.7921版(免费版)为例。请通读全文后再开始操作。有看不懂的地方,建议询问一下他人再进行刷课……刷课有风险,操作需谨慎。 1.打开按键精灵,点击“新建”。 2.点击“源文件”,将以下代码复制到窗口中。 Dim hwnd hwnd = Plugin.Window.MousePoint() s = Plugin.Window.GetClientRect(hwnd) MyArray = Split(s, "|", -1, 1) VBS sx = MyArray(0) VBS sy = Myarray(1) i=10 While i=10 //当循环条件成立的时候,反复执行循环体 Call Plugin.Bkgnd.LeftClick(hwnd,1145-sx,385-sy) Delay 1200 a = Plugin.Window.Find(0, "来自网页的消息") Call Plugin.Window.Active(a) Call Plugin.Bkgnd.KeyPress(a,13)

Delay 300 a = Plugin.Window.Find(0, "来自网页的消息") Call Plugin.Window.Active(a) Call Plugin.Bkgnd.KeyPress(a,13) Delay 5000 Wend 然后更改右侧“描述”处的刷课脚本名称,以及启动热键与中止热键。这两个热键一定不能与浏览器或电脑自带的其他热键功能相冲突。建议采用shift+英文字母的形式。其他不会产生冲突的形式也可。 3.打开用来刷课的浏览器,打开补退选的网页,将网页窗口最大化,填入验证码。为避免误操作,建议将想要刷的课程挪到页面的上方,将网页右侧导航条滑到最上方。开始刷课后,该浏览器将不能再用作他用。切记!!! 4.最小化网页窗口,切换回按键精灵的界面,点击“抓抓” 5.再点开补退选网页界面。将鼠标移动到稍候需要刷的课程的“刷新”键上,利用“抓抓”得到该处的窗口坐标,如图,最上面一门课的“刷新”键的当前屏幕坐标为1150,414。此时网页右侧滚动条还应处在最上方,并且在刷课过程中千万不要上下滚动网页,改变滚动条的位置!!!

按键精灵网游高级脚本编写教程

献给热爱按键精灵的广大爱好者按键精灵学习教程 一、键盘命令(2~5页) 二、鼠标命令(5~13页) 三、控制命令(13~22页) 四、颜色/图像命令(22~28页) 五、其他命令(28~355页) 五、网游脚本实例(35~最后)

一、键盘命令 命令名称:GetLastKey 检测上次按键命令功能:检测上次按键 命令参数:参数1 整数型,可选:变量名 返回值:无 脚本例子:(8.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量Key 里。 2.Key=GetLastKey() 3.If Key = 13 Then 4. Msgbox "你上次按下了回车键" 5.End If 脚本例子:(7.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量Key 里。 2.GetLastKey Key 3.If Key = 13 4. Msgbox "你上次按下了回车键" 5.EndIf 命令名称:KeyDown 按住 命令功能:键盘按住 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都 可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项 4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次

按键精灵商业独立界面教程

商业独立型界面制作教程 目录 给独立界面添加注册功能 (2) 给独立界面添加解绑功能 (13) 给独立界面添加试用功能 (16) 给独立界面添加载入自动注册功能 (19) 设置独立界面各按钮的有效性(优化) (22) 给独立界面添加启动脚本功能 (25) 给独立界面添加暂停继续功能 (28) 给独立界面添加终止脚本功能 (31) 给独立界面添加保存设置功能 (33) 关于源码的一些补充和命令的详细说明 (35) 给独立界面添加热键修改设置 (44)

给独立界面添加注册功能 1、打开按键精灵商业版,新建一个脚本。点击右边的“界面”按钮,可以看到按键精灵界 面编辑器,用于制作按键精灵脚本设置界面的工具。如下图 2、将右边属性面版上的名称一栏改为“主界面”,其他保持不变。如下图

3、选择工具箱上的标签控件在界面上框选一个区域。如下图 4、将右边对应的属性面版上的标题改为“注册码:”,其他保持不变。如下图 5、选择工具箱上的“输入框”控件,在界面上框选出一个区域。如下图

6、将右边属性面版上的名称一栏改为“注册码输入框”,其他保持不变。如下图 7、选择工具箱上的下拉框控件在界面框先一个区域,如下图

8、将右边属性面版上的名称一栏改为“注册服务器”,选项列表上添加“电信1、网通1、 电信2”,初始选项一栏设为“0”,其他保持不变。如下图 9、选择工具箱上的按钮控件在界面框选一个区域,如下图

10、将右边属性面版上的名称一栏改为“注册按钮”,标题一栏改为“注册”,其他保持 默认。如下图 11、界面控件都画好了,下面给脚本添加上我们的注册功能代码。 选中“注册”按钮,选择属性面版上的按钮点击事件(或双击“注册”按钮),来到脚本源文件编辑界面。如下图

按键精灵教程

按键精灵可以帮你操作电脑。不需要任何编程知识就可以作出功能强大的脚本。只要您在电脑前用双手可以完成的动作,按键精灵都可以替您完成。 按键精灵官方网站是:https://www.wendangku.net/doc/8618935639.html,/cn/qmacro 从编程的角度看,集合一些插件的脚本编辑、调试工具。代码不公开。生成的小精灵,模式化界面,界面中有广告,以此盈利。 使用环境 操作系统:Windows 98/98SE/Me/2000/XP/2003/Vista 软件支持:支持绝大多数软件,部分网络游戏中可能失效,但可尝试"神盾"功能,提高按键精灵的兼容性 按键精灵能帮我做什么? * 网络游戏中可作脚本实现自动打怪,自动补血,自动说话等 * 办公族可用它自动处理表格、文档,自动收发邮件等 * 任何你觉得“有点烦”的电脑操作都可以替你完成 上手指南 按键精灵是一个容易上手,但精通较难的软件。第一次接触它,自然会希望尽快熟悉它,让它为您工作。但如何上手呢?我来提供一些技巧 1、试:提供了免费试用,下载试用版安装后就可体验自带的例子。 2、学:上网看按键宝典,教程、实例统统都有,不懂还可上论坛提问。 3、用:边用边学,作出自己第一个脚本,你就入门啦~ 4、精:操作电脑的不便,都用脚本来解决,你的脚本也可以越来越聪明! 什么是脚本? 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果. 如何制作脚本? 初学者可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本. 如何使用脚本? 使用步骤如下: 1. 制作脚本:按照个人需求从网上搜集脚本或者自己制作脚本。如果您的脚本是从别的地方收集的,请先把脚本文件拷贝到按键精灵文件夹下的script文件夹中,然后再运行按键精灵。 2.选择有效的窗口:建议您选择“对所有窗口有效”。如果您只需要脚本当某个窗口在前台时有效,请选择窗口名称,比如“龙族” 3.让需要执行的脚本“有效”,只有“有效”一栏中勾中的脚本才会执行。 4.进入游戏(或者其他需要使用按键精灵的软件),在需要使用脚本的时候按下脚本的“快捷键”,按键精灵就会忠实的为您工作了。 5.希望脚本暂停的时候按下中止热键,即可暂停脚本. 什么是简单游? 简单游是一个拥有上千个按键精灵游戏脚本的软件平台,是按键精灵的网络游戏版.上网看简单游 什么是按键宝典? 按键宝典是兄弟工作组提供给用户的帮助大全,包含使用手册、经典脚本、各种动画教程等等。上网看按键宝典 什么是按键小精灵?

按键精灵后台简明教程(后台找色,后台鼠标点击等) - 【教程工具】 - 按键精灵论坛 放飞...

按键精灵后台简明教程(后台找色,后台鼠标点击等)- 【教程工具】- 按键精灵论坛放飞... 按键精灵后台简明教程(后台找色,后台鼠标点击等)按键精灵后台简明教程(后台找色,后台鼠标点击等) 使用按键精灵有一段时间了,从前台到后台看了很多帖子,加上自己的勤奋算是成功了,自己制作了一个练级的脚本,经一月余的使用完全正常,按键精灵升级至7.0后,很多需要从论坛下载才能使用的插件都集成了,这对于新手来说是个福音,我才开始使用时,为了找这些插件费了很多周折,现在的新手真是幸福啊!!呵呵,废话少说,下面把我的一些经验和教训在这里与大家分享,希望对“想后台”的朋友有所帮助。 1、游戏句柄 后台的意思就是当窗口被遮盖或移开的时候,仍能够正常的执行脚本动作,所以必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本语句有正确的使用方向,获取窗口句柄的方法有很多,我一般使用以下的方法: Dim hwnd Plugin hwnd=Window.MousePoint() Plugin是调用插件命令,凡是调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()

返回鼠标所在的窗口的句柄 关于窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不一样的,游戏窗口是IE的一个子窗口,因此在运行脚本前,将你的鼠标放在游戏窗口的区域内再运行脚本。 得到句柄费函数很多,有兴趣的自己去试试看,不过知道一个就足够了。 2、模拟动作 得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已经有7了以前的插件就不作介绍了),模拟动作的函数有如下几个 -模拟鼠标点击 Plugin Bkgnd.LeftClick(句柄,横坐标,纵坐标) //模拟鼠标左键点击 Plugin Bkgnd.RightClick(句柄,横坐标,纵坐标) //模拟鼠标右 键点击 其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^关于这一点足足困扰了我一个礼拜的时间才弄明白)。 屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕分辨率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑窗口的0,0位置是在工具栏下面的,看

按键精灵简单脚本制作教程

如果你还为一些枯燥、繁琐的电脑操作而烦恼,按键精灵绝对会是你最好的帮手。 那么,按键精灵具体能帮我们干什么呢?我们来列举几个例子来说明下。 *网络游戏中可作脚本实现自动打怪,自动补血,自动说话等; *办公族可用它自动处理表格、文档,自动收发邮件等; 脚本就是一系列可以反复执行的命令.通过一些判断条件,可以让这些命令具有一定的智能效果.我们可以通过”录制”功能制作简单的脚本,还可通过”脚本编辑器”制作更加智能的脚本.今天我们就通过录制一个最简单的脚本,来手把手的教大家使用按键精灵。 上网一族一般开机后会先看看自己邮箱,或者看看自己博客;每天如此,可能都有些烦了。 现在好了,把这些繁杂的事情交给按键精灵吧。今天我们就来录制一个自动登录博客,并对整个页面进行浏览的脚本。 首先,我们打开“按键精灵”。其运行界面如下(图1): 图1运行界面 打开软件后点击工具栏上“新建”项(如图2);之后进入“脚本编译器”界面(如图3)。 现在就可以正式开始编译脚本了。 图2xx 图3脚本编译器界面在脚本编译器界面上,左键点击工具栏上“录制”项,会出现这样的情况: 进入桌面,并出现一个小的对话框(如图4)。

图4录制 在这个小的对话框中,左侧红色圆按钮是录制的开始,第二个蓝色方按钮是录制结束,第三个是存储录制内容。在录制过程中该对话框可以随意移动,不会影响录制结果。 我们来点击红色圆形按钮开始录制(图5) 图5开始录制后我们把这个小的对话框移至窗口右下角,然后用鼠标点击左下角任务栏的IE浏览器标志,来打开浏览器(如图6)。 图6打开IE浏览器 随后在地址栏输入博客地址(如图7) 图7输入地址 进入xx主页(如图8) 用鼠标拖动滚动条,浏览整个页面。 看完后关闭页面,然后点击录制对话框的蓝色方形停止键(如图9) 图9停止录制 之后点击第三个按钮,来保存录制动作并进入脚本编译界面。现在我们可以看到在编译界面的中部,有“按键精灵录制的内容”这句话显示。这句话的下面有“鼠标移动”、“延时”、“按键动作”等记录的录制过程中的各个动作。 图10录制内容显示 现在就让我们来检验下刚才的一系列动作是否已经记录好。点击工具栏的“调试”按钮(如图11)。 图11调试 进入调试对话框(如图12)。 图12调试脚本

刷课神器——按键精灵使用教程

废话少说,直接进入正题。 以下教程皆以按键精灵8.20.7921版(免费版)为例。请通读全文后再开始操作。有看不懂的地方,建议询问一下他人再进行刷课……刷课有风险,操作需谨慎。 1.打开按键精灵,点击“新建”。 2.点击“源文件”,将以下代码复制到窗口中。 Dim hwnd hwnd = Plugin.Window.MousePoint() s = Plugin.Window.GetClientRect(hwnd) MyArray = Split(s, "|", -1, 1) VBS sx = MyArray(0) VBS sy = Myarray(1) i=10 While i=10 //当循环条件成立的时候,反复执行循环体 Call Plugin.Bkgnd.LeftClick(hwnd,1145-sx,385-sy) Delay 1200 a = Plugin.Window.Find(0, "来自网页的消息") Call Plugin.Window.Active(a) Call Plugin.Bkgnd.KeyPress(a,13)

Delay 300 a = Plugin.Window.Find(0, "来自网页的消息") Call Plugin.Window.Active(a) Call Plugin.Bkgnd.KeyPress(a,13) Delay 5000 Wend 然后更改右侧“描述”处的刷课脚本名称,以及启动热键与中止热键。这两个热键一定不能与浏览器或电脑自带的其他热键功能相冲突。建议采用shift+英文字母的形式。其他不会产生冲突的形式也可。 3.打开用来刷课的浏览器,打开补退选的网页,将网页窗口最大化,填入验证码。为避免误操作,建议将想要刷的课程挪到页面的上方,将网页右侧导航条滑到最上方。开始刷课后,该浏览器将不能再用作他用。切记!!! 4.最小化网页窗口,切换回按键精灵的界面,点击“抓抓” 5.再点开补退选网页界面。将鼠标移动到稍候需要刷的课程的“刷新”键上,利用“抓抓”得到该处的窗口坐标,如图,最上面一门课的“刷新”键的当前屏幕坐标为1150,414。此时网页右侧滚动条还应处在最上方,并且在刷课过程中千万不要上下滚动网页,改变滚动条的位置!!!

按键精灵游戏脚本编写教程

按键精灵学习教程 一、键盘命令(2~5页) 二、鼠标命令(5~13页) 三、控制命令(13~22页) 四、颜色/图像命令(22~28页) 五、其他命令(28~355页)五、网游脚本实例(35~最后) 完

一、键盘命令 命令名称:GetLastKey 检测上次按键命令功能:检测上次按键 命令参数:参数1 整数型,可选:变量名 返回值:无 脚本例子:(8.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量Key 里。 2.Key=GetLastKey() 3.If Key = 13 Then 4. Msgbox "你上次按下了回车键" 5.End If 脚本例子:(7.x语法) 复制代码 1.//脚本运行到这一行不会暂停,调用的时候立即返回,得到调用之前最后一次按下的按键码保存在变量Key 里。 2.GetLastKey Key 3.If Key = 13 4. Msgbox "你上次按下了回车键" 5.EndIf 命令名称:KeyDown 按住 命令功能:键盘按住 命令参数:参数1 整数型,键盘虚拟码(8.X支持按键字符) 参数2 整数型,次数 返回值:无 脚本例子:(8.x语法) 复制代码 1.//KeyDown、KeyDownS、KeyDownH 2.//KeyDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的要求,PS2(圆口)和USB接口的键盘都 可以使用 3.//KeyDownH: 硬件模拟方式,仅支持PS(圆口)的键盘点击查看使用硬件模拟方式的注意事项 4.KeyDown 65,1 5.//65是A键的按键码,上面的语句表示按住A键1次

最经典的教程 按键精灵教程-精通版

变量就是会变化的量。就像一个小柜子,我们可以在柜子里装载不同的东西,而当我们需要找到这些东西的时候,只要记住柜子的名字就可以了。 使用变量的方法是:先定义(给柜子起名)、再赋值(将物品放进柜子)、最后使用(根据柜子名字找到放在其中的物品)。 使用Dim命令定义变量,例如: Dim str1 //定义变量str1 Dim var1=22 //定义变量Var1,并且赋值为22 例子1:使用变量设置输出文字的内容 1、下面红色的是3行脚本,请把他复制到“源文件”当中 Dim str1 str1 = "你很聪明" SayString str1 2、Dim str1 就是定义变量,也就是说我们创建了一个小柜子,给他起名为str1 3、str1 = "你很聪明" 就是赋值,我们把"你很聪明"这几个字放到str1这个小柜子里 4、SayString str1 表示我们输出str1这个变量的内容,也就是说把str1这个小柜子里的内容拿出来交给SayString 这个命令去使用。 5、如果你希望修改喊话的内容,只要修改str1这个小柜子里的内容就可以了。 例子2:变量的一些用法 a=1 把数字1放进柜子a中。 b="你猜对了吗?" 把字符串你猜对了吗?放进柜子b中。字符串必须用""包含。 dc=3.14159265 把小数放进柜子dc中。 num1=1 num1=33 num2=55 sum=num1+num2 首先把33和55分别放入num1和num2中。然后把他们取出来,做加法操作(加法是由CPU来处理的),把结果放在sum中。结果sum等于88 num1=1 num1=33 num1被给值为1,然后又给值为33。此时,num1中存储是的33。1就被覆盖掉了。没有了:) sum=sum+1 这句不等同于数学的加法,也是初学者不容易理解的地方。我们只要想,把sum拿出来和1做加法,再放回sum中就可以了。sum原来的值是88,做完加法后,sum等于89。 pig=1 pig=pig*3+pig 能猜出pig最后等于几么?1*3+1。结果是4 例子3:使用变量输入1到100的数字 VBSCall RunApp("notepad") Delay 2000 a=1

[精华]按键精灵后台寻色,后台鼠标点击具体教程

[精华]按键精灵后台寻色,后台鼠标点击具体教程按键精灵后台简明教程(后台找色,后台鼠标点击等) 使用按键精灵有一段时间了,从前台到后台看了很多帖子,加上自己的勤奋算是成功了,自己制作了一个练级的脚本,经一月余的使用完全正常,按键精灵升级至7.0后,很多需要从论坛下载才能使用的插件都集成了,这对于新手来说是个福音,我才开始使用时,为了找这些插件费了很多周折,现在的新手真是幸福啊~~呵呵,废话少说,下面把我的一些经验和教训在这里与大家分享,希望对“想后台”的朋友有所帮助。 1、游戏句柄 后台的意思就是当窗口被遮盖或移开的时候,仍能够正常的执行脚本动作,所以必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本语句有正确的使用方向,获取窗口句柄的方法有很多,我一般使用以下的方法: Dim hwnd Plugin hwnd=Window.MousePoint() Plugin是调用插件命令,凡是调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()返回鼠标所在的窗口的句柄关于窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不一样的,游戏窗口是IE的一个子窗口,因此在运行脚本前,将你的鼠标放在游戏窗口的区域内再运行脚本。 得到句柄费函数很多,有兴趣的自己去试试看,不过知道一个就足够了。 2、模拟动作

得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已经有7了以前的插件就不作介绍了),模拟动作的函数有如下几个 -模拟鼠标点击 Plugin Bkgnd.LeftClick(句柄,横坐标,纵坐标) //模拟鼠标左键点击 Plugin Bkgnd.RightClick(句柄,横坐标,纵坐标) //模拟鼠标右键点击 其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^关于这一点足足困扰了我一个礼拜的时间才弄明白)。 屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕分辨率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑窗口的0,0位置是在工具栏下面的,看不懂也没关系,你只要记住下面的方法就行了,首先在得到窗口句柄后加上如下的代码: Plugin s = Window.GetClientRect(hwnd) XYArray = Split(s, "|", -1, 1) dx = XYArray(0) dy = XYarray(1) 其次,在横坐标和纵坐标的后面都分别减去dx和dy就行了,为什么~~不用去管他,反正这样做不会错,举例说明 例如你抓点得到的横坐标是x,纵坐标是y,那么模拟鼠标左键点击的语句应该是这样的: Plugin Bkgnd.LeftClick(句柄x-dx,y-dy) -模拟键盘动作 Plugin Bkgnd.KeyPress(句柄,按键码) //模拟键盘动作

按键精灵后台找色,后台鼠标点击详细教程

按键精灵后台简明教程(后台找色,后台鼠标点击等) 使用按键精灵有一段时间了,从前台到后台看了很多帖子,加上自己的勤奋算是成功了,自己制作了一个练级的脚本,经一月余的使用完全正常,按键精灵升级至7.0后,很多需要从论坛下载才能使用的插件都集成了,这对于新手来说是个福音,我才开始使用时,为了找这些插件费了很多周折,现在的新手真是幸福啊!!呵呵,废话少说,下面把我的一些经验和教训在这里与大家分享,希望对“想后台”的朋友有所帮助。 1、游戏句柄 后台的意思就是当窗口被遮盖或移开的时候,仍能够正常的执行脚本动作,所以必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本语句有正确的使用方向,获取窗口句柄的方法有很多,我一般使用以下的方法: Dim hwnd Plugin hwnd=Window.MousePoint() Plugin是调用插件命令,凡是调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()返回鼠标所在的窗口的句柄 关于窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不一样的,游戏窗口是IE的一个子窗口,因此在运行脚本前,将你的鼠标放在游戏窗口的区域内再运行脚本。 得到句柄费函数很多,有兴趣的自己去试试看,不过知道一个就足够了。 2、模拟动作 得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已经有7了以前的插件就不作介绍了),模拟动作的函数有如下几个-模拟鼠标点击 Plugin Bkgnd.LeftClick(句柄,横坐标,纵坐标) //模拟鼠标左键点击 Plugin Bkgnd.RightClick(句柄,横坐标,纵坐标) //模拟鼠标右键点击 其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^关于这一点足足困扰了我一个礼拜的时间才弄明白)。 屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕分辨率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑窗口的0,0位置是在工具栏下面的,看不懂也没关系,你只要记住下面的方法就行了,首先在得到窗口句柄后加上如下的代码:Plugin s = Window.GetClientRect(hwnd) XY Array = Split(s, "|", -1, 1) dx = XY Array(0) dy = XY array(1) 其次,在横坐标和纵坐标的后面都分别减去dx和dy就行了,为什么!!不用去管他,反正这样做不会错,举例说明 例如你抓点得到的横坐标是x,纵坐标是y,那么模拟鼠标左键点击的语句应该是这样的: Plugin Bkgnd.LeftClick(句柄x-dx,y-dy) -模拟键盘动作 Plugin Bkgnd.KeyPress(句柄,按键码) //模拟键盘动作 这里的按键码可以很容易的在按键精灵中查到,包括组合键 -输入字符串 Plugin Window.SendString(句柄,字符串) 这个函数在登陆和喊话时是非常有用的,其中的字符串可以是字符串变量

按键精灵后台入门

-------------------按键精灵----后台简明教程-----(后台找色,后台鼠标点击等) 使用按键精灵有一段时间了,从前台到后台看了很多帖子,加上自己的勤奋算是成功了,自己制作了一个练级的脚本,经一月余的使用完全正常,按键精灵升级至7.0后,很多需要从论坛下载才能使用的插件都集成了,这对于新手来说是个福音,我才开始使用时,为了找这些插件费了很多周折,现在的新手真是幸福啊!!呵呵,废话少说,下面把我的一些经验和教训在这里与大家分享,希望对“想后台”的朋友有所帮助。 1、游戏句柄 后台的意思就是当窗口被遮盖或移开的时候,仍能够正常的执行脚本动作,所以必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本语句有正确的使用方向,获取窗口句柄的方法有很多,我一般使用以下的方法: Dim hwnd Plugin hwnd=Window.MousePoint() Plugin是调用插件命令,凡是调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()返回鼠标所在的窗口的句柄 关于窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不一样的,游戏窗口是IE的一个子窗口,因此在运行脚本前,将你的鼠标放在游戏窗口的区域内再运行脚本。 得到句柄费函数很多,有兴趣的自己去试试看,不过知道一个就足够了。 2、模拟动作 得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已经有7了以前的插件就不作介绍了),模拟动作的函数有如下几个 -模拟鼠标点击 Plugin Bkgnd.LeftClick(句柄,横坐标,纵坐标) //模拟鼠标左键点击 Plugin Bkgnd.RightClick(句柄,横坐标,纵坐标) //模拟鼠标右键点击 其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^关于这一点足足困扰了我一个礼拜的时间才弄明白)。 屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕分辨率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑窗口的0,0位置是在工具栏下面的,看不懂也没关系,你只要记住下面的方法就行了,首先在得到窗口句柄后加上如下的代码: Plugin s = Window.GetClientRect(hwnd) XY Array = S plit(s, "|", -1, 1) dx = XY Array(0) dy = XY array(1) 其次,在横坐标和纵坐标的后面都分别减去dx和dy就行了,为什么!!不用去管他,反正这样做不会错,举例说明 例如你抓点得到的横坐标是x,纵坐标是y,那么模拟鼠标左键点击的语句应该是这样的: Plugin Bkgnd.LeftClick(句柄x-dx,y-dy) -模拟键盘动作 Plugin Bkgnd.KeyPress(句柄,按键码) //模拟键盘动作 这里的按键码可以很容易的在按键精灵中查到,包括组合键 -输入字符串 Plugin Window.SendString(句柄,字符串) 这个函数在登陆和喊话时是非常有用的,其中的字符串可以是字符串变量 3、后台找色 后台脚本尽量少用找色语句,否则你的游戏将“卡巴死机”,即使少用也会出现很多的“马赛克”幸运的是不影响找色功能,即使游戏图像已经乱七八糟,既然是要后台操作,难看就难看吧^_^。

相关文档
相关文档 最新文档