【问题标题】:AHK | prevent resetting Hotstring count after "spaceless" hotstringsAHK |防止在“无空间”热字串后重置热字串计数
【发布时间】:2018-05-07 20:16:16
【问题描述】:

我使用一些带有 :o: 选项的热字串或手动发送 {bs} 用于其他目的。
在这两种情况下,如果我要添加到前一个热字串末尾的字符串恰好本身也是一个热字串,它将触发热字串!
如何预防?
示例:
:o:ahk::AutoHotKey
=> ahk+space+ahk 应该是:“AutoHotKeyahk”,但它会得到:“AutoHotKeyAutoHotKey”

注意:如果后面的文本不是热键,它当然不会再次触发。
AutoHotkey+ahk => AutoHotkeyahk

此外,一般来说,很高兴知道,如果某些字母物理地位于光标后面,如何让热字串更加清楚,即使由于各种原因它没有在 keycount 中正确注册 -ergo 可以防止热键在不正确的上下文中发生错误。

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    所以我尝试了各种方法并遇到了几个错误/错误。
    最后,我有了一种在所有测试环境下都能可靠工作的方法。
    生病发布代码...如果有,请随时发布更好/更优雅的代码。

    IsModifier:=1
    #inputlevel 1
    SendLevel 1
    LAlt & space up::
    {
            SendInput,{space}
            sleep 50
            SendInput,{bs}
            IsModifier:=0
            Loop
            {
                Sleep,10
                if (GetKeystate("Enter") = 1) or (GetKeystate("?") = 1) or (GetKeystate(".") = 1) or (GetKeystate("Space") = 1)
                {
                    break
                }
            }
            IsModifier:=1
    return
    }
    #if (Ismodifier=1)
    #inputlevel 0
    #Include GeneralHotStrings.AHK
    

    【讨论】:

      猜你喜欢
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-04
      • 2013-10-21
      相关资源
      最近更新 更多