在按键精灵里录制了一个脚本,怎么能让它在游戏窗口内后台 *** 作

在按键精灵里录制了一个脚本,怎么能让它在游戏窗口内后台 *** 作,第1张

先要获取游戏画面的窗口句柄然后用后台插件写脚本

如何获取窗口内坐标,你可以用抓抓,先获取句柄,再复制句柄到图像页面,然后指定窗口打钩,粘贴句柄截图然后在截图里面取坐标就是后台坐标如果截图是黑的,那么说明游戏屏蔽了后台取色你要用其它的插件来实现

不明白可以去看视频教程,其实并不复杂

WINDOWS每打开一个窗口(包含程序运行时的窗口),以及每个窗口内的控件(按扭,输入框等)都会随机分配一个号码,这个号码就是这一窗口或控件的句柄

获得这个句柄就可以实现在后台进行针对这个窗口(程序)的 *** 作例如:在这一窗口中输入一段文字,在某一座标进行单击,双击等

提取句柄的方法可以参考按键精灵的帮助也可以全部命令--插件命令--Windows窗口插件找到例如:Hwnd=PluginWindowFind(0,"无标题-记事本")'查找当前打开的程序中标题为"无标题-记事本"的窗口,并将找到的句柄号存进Hwnd变量中,以便后面调用;

需要注意的是:任何一个窗口关闭后再打开,对应的句柄将会被重新分配

获取句柄的方法有几种

Hwnd = PluginWindowForeground()//当前窗口获取

Hwnd = PluginWindowMousePoint()//鼠标位置获取

Hwnd = PluginWindowSearch("记事本")//标题模糊查找获取

例如你需要的脚本

Hwnd = PluginWindowMousePoint()

Rem a

Call PluginBkgndMoveTo(Hwnd, 0, 0)

Delay 2000

Call PluginBkgndLeftDoubleClick(Hwnd, 0, 0)

Goto a

先把鼠标移动到需要运行脚本的窗口上,再启动脚本

脚本涉及到后台坐标,由于前后台坐标是不同的,只能重新获取,方法请看帖子>

版本 2

DLL命令 API_GetWindow, 整数型, "user32", "GetWindow", , 获得一个窗口的句柄,该窗口与某源窗口有特定的关系

参数 hwnd, 整数型, , 源窗口

参数 wCmd, 整数型, , 指定结果窗口与源窗口的关系

DLL命令 FindWindow, 整数型, "user32", "FindWindowA", , 寻找窗口列表中第一个符合指定条件的顶级窗口

参数 lpClassName, 文本型, , 窗口类名

参数 lpWindowName, 文本型, , 窗口文本(标题)

版本 2

常量 GW_CHILD, "5", , 查找子窗口

常量 GW_HWNDNEXT, "2", , 查找下一窗口

子程序 功能_取句柄, 整数型, , 本子程序采用精易编程助手生成,成功返回窗口句柄,失败返回0

局部变量 局_句柄, 整数型

局_句柄 = FindWindow( "Chrome_WidgetWin_0", "易语言-精易论坛- 易语言学习专区-『易语言问答区』-跪求怎么取游戏窗口句柄 - Powered by Discuz! - Google Chrome")

局_句柄 = API_GetWindow (局_句柄, #GW_CHILD)

局_句柄 = API_GetWindow (局_句柄, #GW_CHILD)

返回(局_句柄)

先写一个定时获取前台窗口的程序运行着,然后打开游戏运行一下再退出,接着看看记录下来的窗口类,排除那些你认识的比如资源管理器等,再从剩下的中找一个最像的,期间最好不要打开别的窗口,然后写一个后台程序,再运行游戏,试着对它进行一些 *** 作看有没有效果。

如果是窗口游戏的话。可以用Plugin a=WindowForeground() 返回当前窗口句柄为a

VBSCall GetCursorPos(x,y) 得到当前鼠标位置x,y

Plugin WindowMove(a, x, y)把窗口a移动到x,y位置这样就不用担心窗口移动造成的点不到血条了。秘诀在于。窗口左上角坐标是x,y那么你血条坐标就可以用x+,y+ 形式表达出来。也就是用X,Y为顶点。凭借这个坐标来确定屏幕上血条的相对坐标。这样如果窗口有移动之需要重新运行一次脚本。X,Y坐标就重新确定了。不知道你听懂了没。

我没用过大话西游,说一下我的想法

可能是主窗口是封装在一个Frame里了,你用SPY++获得那个框架的句柄(如果,果真是封装在了Frame的话),然后在SPY++中切换到标签选项卡(SPY++22),去掉"窗口可见"勾选,这样就剥离掉了Frame的封装,然后你就可以继续用SPY++获得其内部控件的句柄了

一般就是用这个方法了,QQ登陆框也是这样的,号码框和密码框还有软键盘都封在Frame里了,只要隐藏到那个Frame,里面的控件就无可遁形了

要获得窗体/控件的句柄 你先用SPY++获得它的类名,如任务栏类名为 "Shell_TrayWnd",然后用FindWindow即可获得其句柄,如任务栏句柄

hWnd=FindWindow("Shell_TrayWnd", vbNullString)

其他窗体也是一样,只要用SPY++选获得窗体(或父窗体)类名,便可以步步用FindWindow或FindWindowEx获得其句柄

以上就是关于在按键精灵里录制了一个脚本,怎么能让它在游戏窗口内后台 *** 作全部的内容,包括:在按键精灵里录制了一个脚本,怎么能让它在游戏窗口内后台 *** 作、按键精灵自动获取网页游戏句柄和套用句柄的问题、易语言怎么找指定游戏的句柄,打开一个游戏还可以自己找到这个句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9356827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存