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

2024-11-08 14:39:56
推荐回答(3个)
回答1:

录制的脚本想要后台操作需要大量工作量。
PluginHwnd=Window.GetKeyFocusWnd()
首先需要这个语句找到当前游戏窗口句柄
PluginWindow.SendKeyPress(Hwnd,??)
然后用这个语句执行后台键盘按键,鼠标左键按键的话是把SendKeyPress(Hwnd,??)
改成LeftClick(Hwnd,x,y)
键盘按键中的:??代表的意思是→键盘的按键码,输入相应的按键码才行
而鼠标按键中的x,y分别代表鼠标相对屏幕的x轴坐标和y轴的坐标以左上角为起点。也就是说和你学的数学的y轴参数负的变成了正的。其他同理
但你现在自己录制的脚本,也就是说在每个要按键的代码前面加上【PluginWindow.】←这个语句就是执行后台命令。那你说你录制的脚本有多长?你要找出多少个按键命令?我想你应该是不会按键精灵才会用录制去搞的吧?所以问题的关键在于就算你愿意花功夫也还不知道您找不找的来。所以实话告诉你,要实现后台录制的可能几乎为0。如果你的确是需要后台按某几个键的话我可以帮你完成,太复杂的话我也没心情搞,这种没功劳的事情谁都不太想干。

回答2:

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

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

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

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

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

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

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

回答3:

录制的脚本想要后台操作需要大量工作量。
Plugin Hwnd=Window.GetKeyFocusWnd()
首先需要这个语句找到当前游戏窗口句柄
Plugin Window.SendKeyPress(Hwnd,??)
然后用这个语句执行后台键盘按键,鼠标左键按键的话是把SendKeyPress(Hwnd,??)
改成LeftClick(Hwnd,x,y)
键盘按键中的:??代表的意思是→键盘的按键码,输入相应的按键码才行
而鼠标按键中的x,y分别代表鼠标相对屏幕的x轴坐标和y轴的坐标以左上角为起点。也就是说和你学的数学的y轴参数负的变成了正的。其他同理

但你现在自己录制的脚本,也就是说在每个要按键的代码前面加上【Plugin Window.】←这个语句就是执行后台命令。那你说你录制的脚本有多长?你要找出多少个按键命令?我想你应该是不会按键精灵才会用录制去搞的吧?所以问题的关键在于就算你愿意花功夫也还不知道您找不找的来。所以实话告诉你,要实现后台录制的可能几乎为0。如果你的确是需要后台按某几个键的话我可以帮你完成,太复杂的话我也没心情搞,这种没功劳的事情谁都不太想干。