для определения текущего окна.
Дело в том, что статус текущего окна не является постоянным. Он может смениться даже до следующей проверки текущего окна, не говоря уже о том, что не хотелось бы такими постоянными проверками нагружать скрипт.
Во-вторых, для полного освещения темы хотелось бы также увидеть, как грамотно закодить такой глобальный хук и такую блокировку. Поиск выдаёт по этому поводу очень разные пространные обсуждения, из которых без опыта по конкретному вопросу проблематично выделить полезное.