如何让Shoes GUI始终保持在其他窗口之上?附AHK实现示例
实现Shoes GUI始终置顶的方法
当然有办法搞定Shoes GUI的置顶需求!先帮你把你提供的AutoHotkey(AHK)代码整理得更规范易读,再给你Shoes本身的原生实现方案:
你的AHK代码格式化版本
你的逻辑本身是没问题的,通过复选框绑定事件来切换窗口置顶属性,格式化后的代码如下:
Gui, Add, CheckBox, x730 y520 gUpdate vCheck, Always on Top guicontrol, , check, 1 Update: Gui, Submit, NoHide If Check = 1 { Gui, +AlwaysOnTop } else { Gui, -AlwaysOnTop } Return
Shoes GUI的置顶实现方案
Shoes本身提供了原生的always_on_top方法来控制窗口置顶,不需要依赖外部工具,你可以直接用Shoes的API实现类似的动态切换功能:
Shoes.app(title: "Shoes 置顶控制 Demo", width: 300, height: 100) do # 初始设置窗口为置顶状态 always_on_top true # 添加复选框来动态切换置顶状态 flow(margin: 20) do para "切换窗口置顶:" check "Always On Top", checked: true do |checkbox| # 根据复选框状态切换置顶属性 always_on_top checkbox.checked? end end end
代码说明
- 初始化
Shoes.app后,调用always_on_top true可以让窗口一开始就处于置顶状态 - 给复选框绑定了点击事件,当复选框的勾选状态变化时,会自动调用
always_on_top方法,传入当前的勾选状态(checkbox.checked?),从而动态开启/关闭窗口置顶
内容的提问来源于stack exchange,提问作者LuaStart




