按键精灵如何获取句柄 按键精灵如何获取当前鼠标位置

很多刚接触按键精灵制作自动化脚本的新人,都会在第一步卡住:如何获取目标窗口的句柄?其实句柄是windows体系给每个窗口分配的唯一标识,拿到句柄才能对窗口进行激活、发送按键、绑定等后续操作,按键精灵自带了多种获取句柄的方式,适配不同的运用场景。
一键获取当前活动主题窗口句柄:最常用的基础方式
如果你的脚本只需要操作当前正在激活的窗口,比如手动点开目标窗口后运行脚本,那用当前活动主题窗口获取法最简单,只需要一行代码就能完成:`hwnd = plugin.window.getforeground()`,执行这行命令后,变量hwnd就储存了当前你正在操作的窗口句柄。这个方式适合单窗口自动化场景,比如写壹个自动处理当前打开文档的脚本,拿到句柄后就可以继续调用`call plugin.window.active(hwnd)`,保证脚本运行经过中目标窗口始终处于激活情形,不会错操作到其他打开的窗口。
根据窗口找句柄:多窗口场景精准定位
如果是多开窗口的场景,比如同时开了多个游戏窗口、多个文档,需要固定操作某壹个窗口,那就可以根据窗口精准查找句柄,命令格式是`hwnd = plugin.window.find(类名, 窗口)`,如果不了解窗口类名,可以直接留空或者填0,只需要填写正确的目标窗口即可。比如你要找为“月度销售记录”的excel表格窗口,只需要写`hwnd = plugin.window.find(0, "月度销售记录")`就能精准拿到对应窗口的句柄。如果需要找窗口内的子控件句柄,还可以用`plugin.window.findex`命令,先找主窗口句柄再找子句柄,适配浏览器组件、软件内嵌窗口等复杂场景。
鼠标指给获取句柄:直观适配未知信息窗口
如果不了解目标窗口的、类名,也不需要固定找某个窗口,只需要操作你鼠标指给的窗口,那`hwnd = plugin.window.mousepoint()`这个命令就特别好用,运行脚本前只要把鼠标放到目标窗口上,就能自动获取对应窗口的句柄,特别适合新人调试脚本,或者制作临时运用的一键操作小脚本,不需要提前查询窗口信息,特别灵活。
调试的时候,还可以用按键精灵自带的窗口信息工具,直接查看全部打开窗口的句柄、、类名信息,核对获取结局避免出错。小编认为啊,获取句柄是按键精灵窗口自动化的基础,选对方式就能让脚本运行更稳定准确,新人可以从最简单的鼠标指给法练手,慢慢熟悉不同场景的运用制度。
