Java中的全局钩子我不知道。但我知道JNI可以。代码没有,你会用C++来做全局钩子的话你搜索一下JNI、javah、jclass等应该可以找到JNI相关的信息,然后Java通过JNI来调用C++函数最终实现全局钩子。
SetWindowsHookEx(14/*设置全局*/,回调函数地址,本进程ID,0);