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

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

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

1 ответ1

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]", "", "") получить текст намного лучше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .