在 autohotkey 脚本中使用 Windows 键释放

Consume Windows key release in autohotkey script

我想将 Windows 10 虚拟桌面切换功能映射到 Windows 键 + 带有自动热键的鼠标滚轮。

我的脚本是这样的:

LWin & WheelUp::Send ^#{Left}
LWin & WheelDown::Send ^#{Right}

桌面切换完美,我什至可以按住Windows键上下滚动,它会在桌面之间来回切换。

不幸的是,如果我在最后一次滚轮操作后继续按住 Windows 键一段时间,则释放键会发送到 OS 打开开始菜单。此外,当我之后关闭开始菜单(通过再次按下 windows 键)时,它会切换回我更改为的第一个虚拟桌面(就像它只收到一个 "switch desktop" 命令一样)。

所以,我的问题是:如何在我的脚本中使用此密钥发布(并且仅针对这两个命令)?

提前致谢。

试试这个。

LWin & WheelUp::
    Send, {Ctrl Down}{LWin Down}{Left}
    SetTimer ReleaseKeys, 50
return

LWin & WheelDown::
    Send, {Ctrl Down}{LWin Down}{Right}
    SetTimer ReleaseKeys, 50
return

ReleaseKeys: 
    If not GetKeyState("LWin","P")  
    {
        SetTimer ReleaseKeys, off
        Send {Blind}{Ctrl Up}
        Send {Blind}{LWin Up}
        WinClose Start ahk_class Windows.UI.Core.CoreWindow
    }
return