首页 > 软件 > 按键精灵如何后台绑定窗口句柄

按键精灵如何后台绑定窗口句柄

软件 2023-02-06

按键精灵如何设置后台运行?

  • 把下面的语句复制到按键精灵的源文件,保存后,先让需要后台运行的窗口置于当前窗口,然后运行下面的脚本,现在可以让那个窗口在后台了。 Plugin hwnd = Window.GetKeyFocusWnd() Delay 125 Rem 开始 Plugin Window.SendKeypress(hwnd,88) Delay 200 Goto 开始

    请点击输入图片描述

  • WINDOWS每打开一个窗口(包含程序运行时的窗口),以及每个窗口内的控件(按扭,输入框等)都会随机分配一个号码,这个号码就是这一窗口或控件的句柄. 获得这个句柄就可以实现在后台进行针对这个窗口(程序)的操作.例如:在这一窗口中输入一段文字,在某一座标进行单击,双击等. 提取句柄的方法可以参考按键精灵的帮助.也可以全部命令--插件命令--Windows窗口插件找到.例如:Hwnd = Plugin.Window.Find(0, "无标题 - 记事本")'查找当前打开的程序中标题为"无标题 - 记事本"的窗口,并将找到的句柄号存进Hwnd变量中,以便后面调用; 需要注意的是:任何一个窗口关闭后再打开,对应的句柄将会被重新分配.

    请点击输入图片描述

  • 步骤

    第一步:进入编辑器

    在主界面上点击“新建脚本”,然后选择“空白脚本”。[1]

    第二步:插入脚本

    按键精灵提供了非常简单的插入脚本方式,使用普通命令面板就可以完成整个插入脚本的过程。我们要制作的是鼠标连点器,所以要找的就是鼠标的命令。

    点击在编辑器左边的【脚本】,然后点击【基本命令】,最后点击【鼠标命令】。这时鼠标的命令就展开了。我们可以看到界面上有鼠标动作的命令,默认的命令是【左键单击】,点击【下拉框】还可以看到其他的鼠标命令,例如【右键单击】、【左键双击】等等。我们就使用【左键点击】就可以了,循环按键次数我们先设置为“1次”,最后点击【插入】。

    接着同样点击【脚本】,打开【基本命令】,最后点击【其他命令】。这时延时的命令就展开了。默认的延时单位是【秒】,点击【下拉框】还可以看到另外一个时间单位【毫秒】。我们就使用【毫秒】就可以了,时间我们先设置为“500”,最后点击【插入】。

    第三步:修改描述

    点击编辑器左侧的“脚本属性“打开基本设置界面。然后修改描述和文件名,建议大家将描述名和文件名取同一个名字。

    第四步:设置热键

    设置热键也是在基本设置选项卡进行设置。只要点击【热键】里面的【启动热键】,然后按下你想要设置的启动键和中止键,比如F10和F12。

    第五步:设置脚本无限循环

    点击编辑器左侧的【脚本属性】打开【基本设置】界面。在“运行“类目下选择【循环到按中止键为止】

    第六步:保存脚本

    到这里整个脚本已经制作完毕了,最后一步就是保存了。直接点击工具栏上的【保存退出】。退出后选择【我的脚本】,接着就可以在主界面看到这个脚本了,按下对应的启动热键就可以启动脚本了。

    请点击输入图片描述

  • 这就是按键精灵中的“伪后台”现象了。 按键精灵的后台插件很粗糙,对于大多数游戏来说,并不能真正的支持后台。于是就出现了这样的,前台可以生效,但真正后台却无效的情况。 这种情况,lz可以用神盾试试可否改善。但是别抱太大希望。 同时lz最好结合大漠插件重新做一个脚本,大漠插件的后台还是不错的。 希望对您有帮助。

    请点击输入图片描述

怎么用按键精灵后台操作?

1、首先打开按键精灵,点击新建;


2、选择全部命令-插件命令-Window 窗口插件-MousePoint,然后点击插入此命令是用来获得鼠标所指向位置的窗口句柄;


3、获取到窗口句柄之后我们就可以对目标窗口进行操作了,比如测试向记事本中按下BAIDU这几个键;


4、选择插件命令-Bkgnd 后台插件-keypress 模拟按键 (此命令是向目标窗口发送一个按键命令);在按键键代码的输入框中按下B键,自动给出数字66,然后点击插入,再依次输入A,I,D,U,继续插入;


5、看到右边的代码编辑界面中66,65,7368,85分别数B,A,I,D,U的键代码,也就是ASCII码;注意一下这边的Hwnd,Hwnd这个变量用来储存鼠标所指向窗口的句柄,下面的Keypress中第一个参数就是窗口句柄,所以第一个参数全部是Hwnd;


6、接下来按F5运行试试看,按键精灵中默认启动热键是F10,我们打开记事本,然后鼠标放在记事本中,按下F10看看效果,可以看到记事本中依次输入了baidu这几个字符;

7、如果要进行鼠标点击操作的话,在插件命令中,有提供多种鼠标操作命令,比较常用的是LeftClick进行鼠标左键单击,其需要的参数第一个为目标窗口句柄,第二个就是目标窗口中所在点的X坐标,第三个则是Y坐标,说一下,这里的坐标是相对于目标窗口来说的,而不是整个屏幕,以目标窗口最左上角为起点(0,0)开始计算,到目标窗口最右下角;


8、其操作方法跟按键输入差不多,都需要先获得窗口句柄,然后就是键代码变成了坐标位置;


9、另外说一下,可能有人会说,如果使用鼠标所在位置的句柄的话,这样鼠标就必须指向某一窗口,这样都不算是后台操作了,这里只是演示,可以在事先给出一个值,可以用按键抓抓工具来获得目标窗口句柄,然后将句柄复制下来,比如这里记事本中输入框的句柄为3343758;

那么就把原来的Hwnd = Plugin.Window.MousePoint()这句代码改成Hwnd = 3343758

预先给Hwnd赋值;



10、这样再运行后把记事本最小化,按下启动热键F10试试,然后再看看记事本,是不是多出了baidu这几个字符;


11、由于每次窗口打开后句柄都是不一样的,我们也可以用Find命令来获取一个标题或类名固定不变的窗口的句柄,比如这边默认的就是获取记事本这个窗口的句柄,不管你记事本打开关闭几次,用这个命令总是可以获得正确的窗口句柄;

另外注意一下,这边获取的记事本句柄并不能进行输入操作,因为这边获取到的是记事本的句柄,而不是记事本中输入框的句柄,所以没办法对输入框进行操作,这个从按键抓抓中可以清楚的看到。

按键精灵怎么锁定个窗口后台运行?

//查找窗口类名(0)或者标题("无标题 - 记事本"),返回找到的句柄Hwnd Hwnd = Plugin.Window.Find(0, "无标题 - 记事本")//你自己更改类名和标题,记得加英文输入下的双引号 Do//无限循环 //向后台窗口句柄(变量:Hwnd)发送一个鼠标移动到客户区域(坐标:253, 129)处 Call Plugin.Bkgnd.MoveTo(Hwnd, 253, 129) //向后台窗口句柄(变量:Hwnd)发送一个键盘(扫描码:112)按下 Call Plugin.Bkgnd.KeyDown(Hwnd, 112) //112就是F1的按键码 loop 只做过一

按键精灵怎么编写后台窗口句柄?

首先你要明白获取窗口句柄需要的不是进程名,而是标题和类别,另外就是记事本的操作不一定适用你的游戏,如果你不懂得编写后台代码就算获得了游戏句柄也没用,下面获得鼠标指向的窗口句柄。 do hwnd = plugin.window.mousepoint() loop until hwnd>0

我有一个按键精灵的脚本,如何转为后台运行最好把怎么获得什么“句柄”说的详细点,谢谢~

看你给60分,给你回答详细一些。

所谓的后台运行,就是锁定一个窗口进行操作,可以被遮盖,但是不能最小化和关闭。比如你是要找图,你的范围是整个屏幕的0,0,1024,768。当后台操作时。这个坐标就是在绑定的窗口里的坐标。所以无论你怎么移动窗口,都不会对找图范围产生影响。

句柄是窗口的一个临时ID。窗口关闭再打开后,会变化。你可以使用按键精灵的抓抓工具,直接得到当前的句柄。想让命令永久有效,就要通过标题或者类名等,得到句柄。在按键精灵中的window窗口插件 中可以使用这些命令。

如:

  • PluginHwnd=Window.Find("Notepad",0)
  • Notepad是记事本的类名。就可以直接得到运行中记事本的句柄,返回到Hwnd变量。

    再具体真的没法说了,建议自己多去尝试研究。不会的可以找我学习

    //专业脚本作者回答


标签:按键精灵 未分类 操作系统 网络 编程语言

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18