Вы можете использовать SetWinEventHook , чтобы перехватить большую часть активности оконной системы. Преимущество традиционных хуков в том, что вы можете делать это из своего процесса, то есть вам не нужно писать DLL для перехвата. Кроме того, когда поток, вызвавший SetWinEventHook, заканчивается, Windows автоматически освобождает обработчик. Вне контекста перехват не позволяет вам завершать работу других приложений, так как минимальная ошибка на внедренной DLL, возможно, подойдет.