2是WH_KEYBOARD,纯C#是没有办法安装全局WH_KEYBOARD钩子的。
WH_KEYBOARD_LL倒是可以(因为它不用注入到其他进程)。

解决方案 »

  1.   

    Processing Global Mouse and Keyboard Hooks in C#
    http://www.codeproject.com/KB/cs/globalhook.aspx
      

  2.   

    http://files.cnblogs.com/hocylan/KeyboardHook.rar
      

  3.   

    他用的是WH_KEYBOARD_LL 在 .NET 框架中不支持全局挂钩
    您无法在 Microsoft .NET 框架中实现全局挂钩。若要安装全局挂钩,挂钩必须有一个本机动态链接库 (DLL) 导出以便将其本身插入到另一个需要调入一个有效而且一致的函数的进程中。这需要一个 DLL 导出,而 .NET 框架不支持这一点。托管代码没有让函数指针具有统一的值这一概念,因为这些函数是动态构建的代理。
      

  4.   

    指Processing Global Mouse and Keyboard Hooks in C# 这个家伙
      

  5.   

    c#做钩子很不方便  建议用delphi