I\'m using code that I found on the CodeProject.com for a low-level keyboard hook. The only problem is it uses external DLL calls that don\'t work in mono. I was wondering
Without knowing what you are trying to capture, it's hard to be sure what will work for you. You may want to look at using Application.AddMessageFilter.
An example is here: http://dn.codegear.com/article/30129
It's not possible to get this behavior using only .Net. You have to use a binary driver for each platform you run on (Windows, Linux, Mac OS). It might be possible to use only P/Invoke (detect what OS you are running on, call appropriate system libraries) so that you won't have to distribute any "extra" dll/so/dylib.