That's exactly what he is saying. You can't write a global hook in C#.
The hook proc has to reside in a standard dll - which .NET is not
capable of creating. You will need to use a language that does support
this to write the actuall hook, and then you can wrap the dll in C#
using P/Invoke.