Изменить горячую клавишу, чтобы срабатывать только когда текстовая область не в фокусе

0

Ниже скрипт запускает возвышенную текстовую программу, когда пользователь вводит «sub»:

:*:sub::   ;
Run "C:\Program Files\Sublime Text 3\sublime_text.exe" 
return

Проблема заключается в том, что он также запускается при вводе текста в текстовую область, такую ​​как текстовый документ, блокнот или любой текст, который можно набрать. Можно ли изменить скрипт так, чтобы он просто срабатывал, когда текстовая область не в фокусе?

синее небо
источник
Какого черта вы хотите нажать 3 клавиши, когда вы можете сделать более короткую горячую клавишу с помощью CTRL, SHIFT и т. Д.
crazypotato

Ответы:

0
:*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

Это работает очень плохо, но работает в блокноте. Проблема с ControlGetText не может получить текст (неправильный элемент управления, странная кодировка) из большинства приложений, или я использую его неправильно. в AutoIt ControlGetText ("[Active]", "", "") получить текст намного лучше.

CrazyPotato
источник