Как да разберете дали някакъв вид текстово поле е фокусирано?

AutoHotkey има ли условие, за да разбере дали някое текстово поле (или документ на Word, лента за търсене на браузъра, всичко с активирано въвеждане на текст) е фокусирано в момента? Искам да използвам някои клавишни комбинации, за да въвеждам Unicode знаци, когато е възможно, и да извършвам други действия, когато не е възможно.


person MinistrChleba    schedule 19.08.2013    source източник
comment
Няма лесен начин да видите това - зависи от всеки случай. Можете да проверите това, като използвате AutoIt3 Windows Spy, който идва с Autohotkey. Стартирайте го и след това фокусирайте текстовото поле и погледнете автоматичното въвеждане на Spy. ако не покаже значителни промени, тогава ще имате проблеми и в повечето случаи не си струва да опитвате. Ако това е само един софтуер, който се опитвате да промените тук, може да е възможно да направите нещо с ImageSearch или подобни хакове. Една идея например е да запазите екранна снимка, да изпратите един ключ, който не прави нищо извън текстово поле, да направите друга екранна снимка и да сравните....   -  person 576i    schedule 19.08.2013


Отговори (1)


Това е прост пример за получаване на името на текущо фокусираната контрола.

F1::
ControlGetFocus, OutputVar, A
if ErrorLevel
    MsgBox, The target window doesn't exist or none of its controls has input focus.
else
    MsgBox, Control with focus = %OutputVar%

Това работи на голям брой прозорци, но като цяло има значение какъв тип контроли използва приложението за това дали ще върне стойност.

person Elliot DeNolf    schedule 19.08.2013