呵呵~~~~~好象在NET里没什么用处,直接用int就行了。

解决方案 »

  1.   

    下面是一个.net中如何实现的例子。
    Managing Low-Level Keyboard Hooks in VB .NET
    http://www.developer.com/net/net/article.php/11087_2193301_1
      

  2.   

    C#中键盘钩子的使用 [转帖]
    public class Win32Hook
    {[DllImport("kernel32")]
    public static extern int GetCurrentThreadId();[DllImport( "user32", 
    CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)]
    public static extern int SetWindowsHookEx(
    HookType idHook,
    HOOKPROC lpfn,
    int hmod,
    int dwThreadId);public enum HookType
    {
    WH_KEYBOARD = 2
    }public delegate int HOOKPROC(int nCode, int wParam, int lParam);public void SetHook()
    {
    // set the keyboard hook
    SetWindowsHookEx(HookType.WH_KEYBOARD,
    new HOOKPROC(this.MyKeyboardProc),
    0,
    GetCurrentThreadId());
    }public int MyKeyboardProc(int nCode, int wParam, int lParam)
    {
    //在这里放置你的处理代码 return 0;
    }
    }
    使用方法
    可以在Form的构造函数里放入
    Win32Hook hook = new Win32Hook();
    hook.SetHook();
      

  3.   

    参考--
    HOW TO: Set a Windows Hook in Visual C# .NET
    http://support.microsoft.com/kb/318804/EN-US/Using Hooks from C# - C# Programming:
    http://www.thecodeproject.com/csharp/NetWin32Hooks.asp
      

  4.   

    Hook was used in .net framework,but Global Hook no supperted .net framework,
    because to install the Global Hook need the Dynamic-link Library(dll), and function Pointer was proxies by IL in .net framework.
      

  5.   

    http://dev.csdn.net/develop/article/41/41301.shtm
      

  6.   

    可以使用阿,不过我觉得实际应用中hook可能用c++实现比较多吧