Java имеет поддержку языка анонимных интерфейсов, таким образом, интерфейсы обратного вызова являются вещью использовать в Java.
C# имеет поддержку анонимных делегатов - лямбд - и таким образом, события являются вещью использовать в C#.
Используйте pipelist.exe от Sysinternals.