
O script abaixo aciona um programa de texto sublime quando o usuário digita "sub":
:*:sub:: ;
Run "C:\Program Files\Sublime Text 3\sublime_text.exe"
return
O problema é que ele também é acionado quando digito texto em uma área de texto, como um documento do Word, bloco de notas ou qualquer lugar onde o texto possa ser digitado. O script pode ser modificado para que seja acionado quando uma área de texto não estiver em foco?
Responder1
:*b0:sub::
Sleep, 200
ControlGetText, OutputVar,,A
;MsgBox, %OutputVar%
;StringMid, a,OutputVar,StrLen(OutputVar)-2, 3
;MsgBox, %a%
;if not a="sub"
if not InStr(OutputVar,"sub")
Run "notepad"
return
Isso funciona muito mal, mas funciona no bloco de notas. Problema com ControlGetText, não consigo recuperar texto (controle errado, codificação estranha) da maioria dos aplicativos ou eu o uso errado. emAutoItControlGetText("[Active]","","") recupera texto muito melhor.