2012-11-30 239 views
0

我這只是在AutoHotkey的腳本:AutoHotkey的 - 虛擬鍵盤/自動輸入

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

當我輸入在記事本我的輸出是球隊的名單(AC米蘭,尤文圖斯..)
如果我使用物理鍵盤輸入這個腳本的工作對我來說 tastiera fisica

,但如果使用虛擬鍵盤輸入我甲肝E在記事本中沒有列表:

virtual keyboard

,如果我運行腳本鍵入自動

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

可以使用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 := "" 
} 
+0

是的!謝謝。現在它正在使用虛擬鍵盤和發送命令。還可以運行集成複製粘貼的腳本?我已經發布了一個類似的問題與發送命令類似的問題,你能再次幫助我嗎?謝謝http://stackoverflow.com/questions/13644352/autohotkey-sending-from-editor-hotkey-replacing-string – user149018

+0

只是另一件事..如何修改代碼來替換2,3單詞與其他單詞?在你的代碼版本中,我只能替換一個單詞。你能幫我嗎? – user149018

+0

@ user149018要替換字符串,可以使用'RegexReplace()'或'StringReplace'。我希望你爲它開始一個新的問題。你連接的問題很長,並且有很多問題。回答者更難回答。所以我建議你在一篇文章中儘可能少地提出問題。 – NbdNnm