
아래 스크립트는 사용자가 "sub"를 입력할 때 숭고한 텍스트 프로그램을 실행합니다.
:*:sub:: ;
Run "C:\Program Files\Sublime Text 3\sublime_text.exe"
return
문제는 단어 문서, 메모장 또는 텍스트를 입력할 수 있는 모든 곳과 같은 텍스트 영역에 텍스트를 입력할 때도 발생한다는 것입니다. 텍스트 영역에 초점이 맞지 않을 때만 실행되도록 스크립트를 수정할 수 있습니까?
답변1
:*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 문제가 대부분의 앱에서 텍스트(잘못된 컨트롤, 이상한 인코딩)를 검색할 수 없거나 잘못 사용하고 있습니다. ~에오토잇ControlGetText("[Active]","","") 텍스트를 훨씬 더 효과적으로 검색합니다.