Приоритет глобального хука
Устанавливаю глобальный хук WH_KEYBOARD_LL. После этого другое приложение устанавливает аналогичный хук. Теперь все сообщения клавиатуры сначала попадают в чужой хук, а потом (если эму захочется) он передаст их мне вызовом CallNextHookEx (...). Соответственно для того чтоб мой хук опять был первым в очереди хуков, мне нужно его переустановить. Вопрос:
1. Можно ли получить уведомление об установке определенного типа хуков в системе? (идеальный вариант, ибо тогда по уведомлению переустанавливаю свой хук и я опять сверху).
2. Если нет — то можно ли получить информацию о приоритете моего хука в системе или хотя бы установлен ли более приоритетный хук? (вариант похуже так как надо крутить поток проверяющий с определенным интервалом приоритет моего хука и в случае необходимости — переустанавливающий его + плюс есть возможность пропустить какое-либо сообщение)
1 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарівНу что за эгоизм! По-моему, то что Вы хотите, Роман, категорически не правильно. В многозадачной Windows нет разумного способа гарантировать, что именно Ваша программа является «самой какой-то» фактически ни для какого свойства. В blogs.msdn.com/.../07/426294.aspx один из разработчиков Windows предлагает простой мысленный эксперимент, объясняющий, почему это нереально: «А что если две разных программы захотят достичь этого? ». В Windows, как и в других многозадачных системах, нужно жить в мире с другими программами и надеяться, что они будут вести себя аналогично.