public static extern IntPtr SetWindowsHookEx(HookType code, WindowsHookCallback func, IntPtr hInstance, int threadID);
public static extern IntPtr SetWindowsHookEx(HookType hookType, WindowsHookCallback lpfn, IntPtr hMod, uint dwThreadId);
public static extern Int32 SetWindowsHookEx(int hook_id, WindowsHookCallback lpfn, IntPtr hInstance, int threadId);