【问题标题】:advance hotstrings in autohotkey自动热键中的高级热字串
【发布时间】:2018-05-04 19:09:18
【问题描述】:

我从https://jacksautohotkeyblog.wordpress.com/2015/10/22/how-to-turn-autohotkey-hotstring-autocorrect-pop-up-menus-into-a-function-part-5-beginning-hotstrings/ 网站找到了这个有效的自动热键 (ahk) 代码。

::agin:: 
TextMenu("again,a gin,aging") 
Return


::duh:: 
TextMenu("what,huh,you're joking")
Return


TextMenu(TextOptions)
{
  StringSplit, MenuItems, TextOptions , `,
  Loop %MenuItems0%
  {
    Item := MenuItems%A_Index%
    Menu, MyMenu, add, %Item%, MenuAction
  }
  Menu, MyMenu, Show
  Menu, MyMenu, DeleteAll      ;Moved from MenuAction:
}

MenuAction:
  SendInput %A_ThisMenuItem%{Raw}%A_EndChar%
Return

这是一个带有菜单的热字符串脚本。例如,当我输入 agin 时,我会得到一个带有三个选项 (again,a gin,aging) 的多选项可供选择。现在我想这样写:

agin=again,a gin,aging
duh=what,huh,you're joking
qwe=qwe,qww,ere

因为我有很多热字串。

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    随着时间的流逝,在最新版本的 AHK 中,它成为可能!
    使用选项 x 允许在 oneliner 中使用表达式。
    要么作为 :x:...:: 要么作为所有行上方的组选项:#Hotstring x

    :x:agin::TextMenu("again,a gin,aging")
    

    【讨论】:

      【解决方案2】:

      尽管它很好,但与 AutoHotkey 热键不同,我认为除了替换文本之外,您不能在 AutoHotkey 热键的同一行放置任何内容。换句话说,

      ::agin::TextMenu("again,a gin,aging")
      

      暂时无法工作,

      ::agin:: 
         TextMenu("again,a gin,aging") 
      Return
      

      确实如此。它还有几个字符长,但不是压倒性的。

      【讨论】:

        猜你喜欢
        • 2012-11-16
        • 1970-01-01
        • 2021-01-19
        • 2021-02-19
        • 1970-01-01
        • 2010-12-26
        • 2013-03-20
        • 2020-02-09
        • 1970-01-01
        相关资源
        最近更新 更多