Нет, нет.
В те дни (до эры до NT) вам, возможно, удавалось играть в некоторые игры с полученным вами HHOOK, так как возвращаемый HHOOK был ссылкой в цепочке хуков , которую нужно было назвать. Даже тогда я не уверен, что это было возможно.
Сегодня Windows не делегирует вам вызов следующего хука в цепочке (таким образом, устаревший параметр CallNextHookEx ), а HHOOK не позволяют вам добраться до хуков, которых вы не делали зарегистрируйтесь.
Точнее, нет хорошего и поддерживаемого способа сделать это.
Вы можете установить руткит, углубиться во внутренние компоненты Windows и найти цепочку подключений таким образом; но это, очевидно, приведет к нелепым и опасным последствиям.
Перехват (через одно из бесчисленных решений для перехвата API, Обход кажется популярным) SetWindowsHookEx и CallNextHookEx может помочь вам в этом приложения, которые соответствуют до-NT соглашениям. Суть заключается в том, чтобы немедленно отцепить новые хуки после вызовов SetWindowsHookEx, отцепить все переданные хуки (которые не являются вашими) с CallNextHookEx. Чтобы гарантировать «чистое» приложение, вам также необходимо смоделировать ряд событий, чтобы заставить любые уже вызванные хуки вызывать их, чтобы их можно было отцепить. Кроме того, этот режим выйдет из строя, как только вы столкнетесь с любым из приложений, написанных за последние 8+ лет, которые передают NULL в CallNextHookEx.
Так что, хотя технически возможно (возможно) отсоединить HHOOK, которые ваше приложение не зарегистрировало, вам, вероятно, лучше попытаться выполнить то, что вам нужно, за другим, менее ужасным хрупкий путь.