
把这加进去
HwndEx = PluginWindowSearch("")
MyArrays = Split(HwndEx, "|")
i=0
For UBound(MyArrays)
sRect = PluginWindowGetClientRect(MyArrays(i))
MyArray = Split(sRect, "|")
R = Clng(MyArray(2)) : B = Clng(MyArray(3))
If R = 470 and B = 369 Then '修改这里窗口大小(用爪爪看那窗口的总大小,)
MessageBox "我是句柄:"& MyArrays(i)
End If
i=i+1
Next
这个只能让它自己报句柄,,,。然后让他在这句柄里自动运行我也不知道怎么弄,我也在学,如果你知道怎么弄了,可以告诉我吗?Q-Q-237-218267,谢谢!
录制的脚本想要后台 *** 作需要大量工作量。
PluginHwnd=WindowGetKeyFocusWnd()
首先需要这个语句找到当前游戏窗口句柄
PluginWindowSendKeyPress(Hwnd,)
然后用这个语句执行后台键盘按键,鼠标左键按键的话是把SendKeyPress(Hwnd,)
改成LeftClick(Hwnd,x,y)
键盘按键中的:??代表的意思是→键盘的按键码,输入相应的按键码才行
而鼠标按键中的x,y分别代表鼠标相对屏幕的x轴坐标和y轴的坐标以左上角为起点。也就是说和你学的数学的y轴参数负的变成了正的。其他同理
但你现在自己录制的脚本,也就是说在每个要按键的代码前面加上PluginWindow←这个语句就是执行后台命令。那你说你录制的脚本有多长?你要找出多少个按键命令?我想你应该是不会按键精灵才会用录制去搞的吧?所以问题的关键在于就算你愿意花功夫也还不知道您找不找的来。所以实话告诉你,要实现后台录制的可能几乎为0。如果你的确是需要后台按某几个键的话我可以帮你完成,太复杂的话我也没心情搞,这种没功劳的事情谁都不太想干。
试一试autohotkey
AutoHotKey在BD能搜索到。
安装运行后右键点击系统托盘滴图标,选择editthisscript,打开记事本,删除原来滴文字,输入以下代码并保存:
WinGet,wowid,List,魔兽世界
~1::
KeyWait1
IfWinActive,魔兽世界
{
ControlSend,,1,ahk_idwowid1
ControlSend,,1,ahk_idwowid2
ControlSend,,1,ahk_idwowid3
ControlSend,,1,ahk_idwowid4
ControlSend,,1,ahk_idwowid5
Return
}
这个系5开代码,1~5对应5个窗口,热键为1键,当第一个窗口输入1时,其TA4个窗口仍同时输入1。如果要设定其TA热键只要复制代码~1开始到},把1改为其TA键即可。如果双开则只要保留1~2,3~5这3行可以删除。
代码设置好老再右击图标,选择Reloadthisscript。测试下来要先打开autohotkey软件,再开wow,然后Reload,否则容易出错。
游戏人物设置,第一个人物可以按普通游戏设置,其TA4个窗口滴人物技能必须用宏,关键滴系3条:
第一行/assistplayer(主窗口人物名)
第2行/cast技能名
第3行/followplayer(主窗口人物名)
这样在游戏中就能实现按下1个键同时控制5个人施法并让其TA4个人跟随主窗口人物。
命令名称: Search 遍历符合窗口
命令功能: 遍历符合窗口标题的句柄保存到数组里
命令参数: 参数1 字符串型,窗口符合的标题
返 回 值: 字符串型,句柄数组
脚本例子:
(8x语法) 复制代码
//下面这句是遍历符合窗口标题("记事本")的句柄保存到数组(HwndEx)里
HwndEx = PluginWindowSearch("记事本")
MsgBox "查找到符合的窗口句柄为:"&HwndEx
//下面这句用于分割字符串,将获得的句柄组分割
dim MyArray
MyArray = Split(HwndEx, "|")
If UBound(MyArray)>=0 Then
i=0
For UBound(MyArray)
//下面这句将字符串转换成数值
Msgbox "第 "&i+1 &" 个窗口句柄为:"&Clng(MyArray(i))
i=i+1
Next
End If
脚本例子:
(7x语法) 复制代码
//下面这句是遍历符合窗口标题("记事本")的句柄保存到数组(HwndEx)里
Plugin HwndEx = WindowSearch("记事本")
MsgBox "查找到符合的窗口句柄为:"&HwndEx
//下面这句用于分割字符串,将获得的句柄组分割
MyArray = Split(HwndEx, "|")
If UBound(MyArray)>=0
i=0
For UBound(MyArray)
//下面这句将字符串转换成数值
Msgbox "第 "&i+1 &" 个窗口句柄为:"&Clng(MyArray(i))
i=i+1
EndFor
EndIf
看你给60分,给你回答详细一些。
所谓的后台运行,就是锁定一个窗口进行 *** 作,可以被遮盖,但是不能最小化和关闭。比如你是要找图,你的范围是整个屏幕的0,0,1024,768。当后台 *** 作时。这个坐标就是在绑定的窗口里的坐标。所以无论你怎么移动窗口,都不会对找图范围产生影响。
句柄是窗口的一个临时ID。窗口关闭再打开后,会变化。你可以使用按键精灵的抓抓工具,直接得到当前的句柄。想让命令永久有效,就要通过标题或者类名等,得到句柄。在按键精灵中的window窗口插件 中可以使用这些命令。
如:
Plugin Hwnd = WindowFind("Notepad", 0)Notepad是记事本的类名。就可以直接得到运行中记事本的句柄,返回到Hwnd变量。
再具体真的没法说了,建议自己多去尝试研究。不会的可以找我学习
//专业脚本作者回答
第一点 后台句柄是动态的 这次你打开是这个句柄值下次打开就变了
第二点 按键抓抓只是参考数据的 没有生成代码功能
根据你的提问提供一下找色代码方式
Hwnd="" //输入句柄值 双引号去掉 例子Hwnd=123456(前提是句柄值是固定不变的)
//Hwnd = PluginWindowMousePoint() ←一般句柄值获取都是用这条代码的
颜色值十六进制=GetPixelColor(10,5)
颜色值十六进制= PluginBkgndGetPixelColor(Hwnd, 0, 0)
If 颜色值十六进制="FFFFFF" Then
MessageBox ""
End If
以上就是关于谁能帮我完成一下啊按键精灵后台脚本,自动获取窗口句柄,自动生效。全部的内容,包括:谁能帮我完成一下啊按键精灵后台脚本,自动获取窗口句柄,自动生效。、在按键精灵里录制了一个脚本,怎么能让它在游戏窗口内后台 *** 作、获取游戏窗口句柄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)