Я никогда не делал этого на Java, но так как вы имеете дело с Win32, я могу по крайней мере предложить нативную часть. То, что вы ищете, это подключить другие процессы в вашей системе. Для этого вам нужно написать собственную DLL. Это обычная техника, и вы легко найдете много информации о ней. Хорошей отправной точкой будет Использование хуков от MSDN.
После того, как вы внедрили DLL во все другие процессы в системе, вам нужно будет выяснить, как определить те, которые вас действительно интересуют. Как вы это сделаете, зависит от того, что вы на самом деле пытаетесь сделать , Чтобы лучше понять, какие сообщения отправляются при различных действиях, вы можете использовать Spy ++ , который поставляется с VS.
Наконец, вам нужно настроить связь между вашей нативной DLL и вашей Java-программой. Это та часть, с которой я не знаком: вам придется использовать JNI . К счастью, JNI - это хорошо освещенная тема, и вы можете найти множество предложений на этом сайте.