
當使用者輸入「sub」時,下面的腳本會觸發 Sublime Text 程式:
:*:sub:: ;
Run "C:\Program Files\Sublime Text 3\sublime_text.exe"
return
問題是,當我在文字區域(例如 Word 文件、記事本或任何可以輸入文字的地方)中輸入文字時,它也會觸發。是否可以修改腳本,使其僅在文字區域未處於焦點時觸發?
答案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]","","") 更好地檢索文字。