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