
El siguiente script activa un programa de texto sublime cuando el usuario escribe "sub":
:*:sub:: ;
Run "C:\Program Files\Sublime Text 3\sublime_text.exe"
return
El problema es que también se activa cuando estoy escribiendo texto en un área de texto, como un documento de Word, un bloc de notas o cualquier lugar donde se pueda escribir texto. ¿Se puede modificar el script para que solo se active cuando un área de texto no esté enfocada?
Respuesta1
:*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
Esto funciona muy mal, pero funciona en el bloc de notas. Problema con ControlGetText: no puedo recuperar texto (control incorrecto, codificación extraña) de la mayoría de las aplicaciones o lo uso incorrectamente. enAutoItControlGetText("[Active]","","") recupera texto mucho mejor.