Autohotkey - 虚拟键盘/自动输入

时间:2012-11-30 09:28:01

标签: autohotkey

我在Autohotkey中有这个简单的脚本:

:*:teams::
(
milan
juventus
inter
roma
lazio
napoli
mantova
)

当我在记事本上键入 teams 时,我的输出是团队列表(milan,juventus ..)
如果我使用物理键盘输入团队这个脚本适合我 tastiera fisica

,但如果使用虚拟键盘键入团队,我在记事本上没有列表:

virtual keyboard

如果我运行脚本自动键入 teams

WinWait, *new  2 - Notepad++, 
IfWinNotActive, *new  2 - Notepad++, , WinActivate, *new  2 - Notepad++, 
WinWaitActive, *new  2 - Notepad++, 
MouseClick, left,  133,  117
Sleep, 100
Send, squadre

脚本不会将团队替换为团队列表

为什么只有在用物理键盘输入时脚本才有效? 是否有解决方案用我的脚本替换单词,句子而不使用物理键盘?

对不起,如果我是菜鸟

1 个答案:

答案 0 :(得分:1)

您可以使用Input命令。

loop {
    While !RegexMatch(strCapture, "teams$") {
        Input, strUserInput, V L1, {BackSpace}  ; V: visible, L1: Character length 1
        If ErrorLevel = Endkey:BackSpace
            strCapture := SubStr(strCapture, 1, StrLen(strUserInput) - 1) 
        else
            strCapture .= strUserInput
        ; tooltip % ErrorLevel "`n" strUserInput "`n" strCapture "`n" ; enable this to see what actually happens
    }
    SendInput,
    (Ltrim
        {Backspace 5}
        milan
        juventus
        inter
        roma
        lazio
        napoli
        mantova
    )
    strCapture := ""
}