[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetWindowsHookEx", SetLastError = true)]
static extern IntPtr SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hMod, uint dwThreadId);
private delegate int HookProc(int code, IntPtr wParam, IntPtr lParam);
...
IntPtr hMod = System.Runtime.InteropServices.Marshal.GetHINSTANCE(typeof(Autodesk.AutoCAD.ApplicationServices.Document).Module);
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, HookProcedure, hMod, 0)