修改熱鍵以僅在文字區域未獲得焦點時觸發

修改熱鍵以僅在文字區域未獲得焦點時觸發

當使用者輸入「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]","","") 更好地檢索文字。

相關內容