按键精灵窗口插件增强版详解

上传人:pu****.1 文档编号:498369297 上传时间:2023-10-16 格式:DOC 页数:4 大小:26KB
返回 下载 相关 举报
按键精灵窗口插件增强版详解_第1页
第1页 / 共4页
按键精灵窗口插件增强版详解_第2页
第2页 / 共4页
按键精灵窗口插件增强版详解_第3页
第3页 / 共4页
按键精灵窗口插件增强版详解_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《按键精灵窗口插件增强版详解》由会员分享,可在线阅读,更多相关《按键精灵窗口插件增强版详解(4页珍藏版)》请在金锄头文库上搜索。

1、窗口插件增强版详解 361度 2011-01-27这里不是讲解插件中每个函数的运用,而是说明一些函数的设计初衷和一些高级应用。当然使用插件时不用受设计初衷的限制,但我不希望,使用者连设计初衷 都不知道。因为那样的话,这个插件本该有的能力都没发挥,使用者很可能只学会了 利用其中一小部分功能而已。所以就有了这篇文章。这篇文章相当于对插件函数说明的补充。首先要声明的是,最近看到有人说这个插件是针对 QQ 类游戏设计的,其 实没这种事情,这个插件其它游戏也一样用,一样可以解决其它游戏因为游戏 的自我保护而取不到窗口句柄等问题。可能是因为我在论坛帖子中说这个插件可以取到QQ 类游戏的句柄,导致有人认为这

2、个能力仅限于 QQ 类游戏。为了防止又有人误传,这里再强调下,这个插件的功能不局限于取窗口句 柄,其它功能也有不少花了我很多时间去研究和设计才做出来的。GetForegroundWindow、GetForegroundFocus、GetMousePointWindowS、GetPointWindowS、EnumWindowA、EnumWindowT:该插件中取窗口句柄的有关函数 GetForegroundWindow、 GetForegroundFocus、GetMousePointWindowS、GetPointWindowS、 EnumWindowA、EnumWindowT 均可取到被游戏

3、自我保护屏蔽的窗口句柄。其中EnumWindowA和EnumWindowT的过滤条件使用65536才可以找到被 游戏自我保护屏蔽的窗口。该插件配套命令库中的取窗口句柄的几个函数都是用这些函数实现,所以 都能取到被游戏自我保护屏蔽的窗口句柄。EnumWindowA 和 EnumWindowT:EnumWindowA 和 EnumWindowT 的参数较复杂,详细的见插件函数说明, 这里对他们的窗口标题和类名的模糊搜索用例子演示下。对于这两个函数,第 4 个参数过滤条件的值如果使用 1可以使用标题的模 糊搜索,如果使用 2 可以使用类名的模糊搜索。模糊搜索使用 “?和”“*进”行,“?代”表一个任

4、意字符, “*代”表 0个或者多个 任意字符。比如窗口标题为 “游戏名称版本号 ”或者 “游戏名称角色名 ”等形式,窗口标题 的内容就不是固定的,这个时候使用标题的模糊搜索就可以解决兼容问题。这里以用按键精灵的窗口标题模糊搜索按键精灵为例,这里用其中一个版本的按键精灵进行分析,这个版本的按键精灵未注册时标题显示为 “按键精灵8.20.7866 版(免费版) ”,注册后显示为:“按键精灵8.20.7866 版(会员版)注册码有效期:2011/6/2 14 :19:51 已激活:922992次”,按键精灵各版本的版本号是不同的,要解决兼任不同版本的问 题,版本号的部分要用 “*或”“?代”替,版本

5、后面有显示免费版,有显示会员版, 为了各种情况都能搜索到,这里也要用 “*或”“?代”替,所以模糊搜索在标题的参 数处可以写为 “按键精灵 *版* ”相,同的部分最好尽量保留下来,这样不容易找 错,如果用 “按键精灵 * ”,打开按键精灵论坛时,搜索到的窗口句柄中,浏览器 的窗口句柄也会被包括进去。示范 (按键精灵8、窗口插件增强版 V5.00):HwndArray = Plugin.WindowEx5.EnumWindowT(”按键精灵*版*,0,0,0,1)如果像有些游戏一样因为有自我 保护而无法找到窗口句柄,过滤条件就要用65536,/和过滤条件中的标题模糊一起用,要做或运算,这样写:/

6、HwndArray = Plugin.WindowEx5.EnumWindowT(按键精灵 *版*,0,0,0,1 Or 65536)lf UBound(HwndArray)=-1 ThenMsgBox 按键精灵窗口未找到 , 4096ElseMsgBox 找到按键精灵窗口 ,窗口句 柄: & HwndArray(0), 4096End lfSetFakeActive:窗口假激活函数SetFakeActive主要用于解决部分游戏后台画面不刷新的问 题,也可解决部分游戏后台键盘鼠标在前台用有效但后台无效的问题。CreateTextRgn、CreatePictureRgn、CreateCustom

7、Rgn、CreateButton:CreateTextRgn、CreatePictureRgn、CreateCustomRgn、CreateButton 可用 SetWindowState和SetWindowOpacity实现置顶、透明、鼠标传透等效果,遗憾 的是透明和鼠标穿透不能对子窗口单独产生效果,所以当CreateTextRgn、CreatePictureRgn、 CreateCustomRgn、 CreateButton 的父窗口句柄不为 0 时,就 不能用透明和鼠标穿透了。CreateButton:CreateButton 是为了在脚本运行中控制和多开游戏时对每个游戏单独控制而 设计

8、的,比如可以让某一个游戏窗口的脚本控制启动、暂停等等,而不影响其 它游戏窗口。CreateTextRgn和CreateButton综合应用的例子(按键精灵8、窗口插件增强版 V5.00),文本区域被设置为置顶、透明、鼠标穿透:Dim ButtonArray(3)ButtonArray(0)=A 状态 ButtonArray(1)=B 状态 ButtonArray(2)=C 状态ButtonArray(3)=D 状态hwndButton=Plugin.WindowEx5.CreateButton(0,10,20,100,30)Call Plugin.WindowEx5.SetButton(hwn

9、dButton,ButtonArray)hwndText = Plugin.WindowEx5.CreateTextRgn(0,10,60,200,20)Call Plugin.WindowEx5.SetWindowState(hwndText,8)Call Plugin.WindowEx5.SetWindowOpacity(hwndText,0,150,1)While Trueindex=Plugin.WindowEx5.GetButt on State(hw ndButto n)str二按钮值: & index & 按钮内容: & ButtonArray(index)Call Plugin.WindowEx5.SendTextRgnString(hwndText,str)Delay 200WendSub OnScriptExit()Call Plugin.WindowEx5.SetWindowState(hwndButton,0)Call Plugin.WindowEx5.SetWindowState(hwndText,0)End Sub

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号