Windows Hooker API
<< Back to the Windows Hooker page
Using the library
- Include a COM reference to the WindowsHooker 1.0 Type Library
- place the following at the beginning of your program: using WINDOWSHOOKERLib;
The HookManager Object
You must create a HookManager object, which you then use to access the API, to start and stop hooking and logging, and to attach event handlers to.
- private HookManager hm = new HookManager ();
Starting/Stopping the Hook plus Logging operations
You can start and stop hooking, and you can turn mouse and/or key logging on and off
hm.LogKeyboard = (boolean)
- true to start logging keypresses, false to stop.
- e.g., hm.LogKeyboard = true;
hm.LogMouse = (boolean)
- true to start logging mice actions, false to stop.
- e.g., hm.LogMouse = true;
hm.StartWindowsHook()
- start the hooking
- should be called after all the LogKeyboard / LogMouse states are set and after the event handlers are created
hm.StopWindowsHook ()
- stop the hooking - should be called before exiting the program to stop the hook
- e.g., in a FormClosing event
Event Handlers
The object will automatically generate events whenever it detects mouse / key actions. However, you have to attach event handlers if you want to do something with these events.
hm.MouseDown
- attach an event handler to a detected Mouse Down event.
- hm.MouseDown += new _IHookManagerEvents_MouseDownEventHandler(hm_MouseDown);
- void hm_MouseDown(int x, int y, int hWnd, int MouseMessage, int HitTestCode, int dwExtraInfo) {}
- x,y: The position of the cursor in screen coordinates
- hWnd: A pointer to the current window selected
- MouseMessage: Indicates the button pressed (Left, Right, Middle, XButton1, XButton2)
- HitTestCode: Indicates if the cursor is directly under any window
- dwExtraInfo: Contains extra information (e.g., Mouse Wheel Delta)
- For more information visit http://msdn2.microsoft.com/en-us/library/ms644968.aspx
hm.MouseUp
- as above, but for a Mouse Up event
hm.MouseOther
- as above, but for other Mouse events such as Mouse Wheel
hm.KeyDown
- attach an event handler to a detected Key Down event.
- hm.KeyDown += new _IHookManagerEvents_KeyDownEventHandler(hm_KeyDown);
- void hm_KeyDown(int VirtualKeyCode, int Scancode, int RepeatCount, bool KeyPressed, bool PreviousKeyWasDown, bool AltDown, bool ExtendedKey) {}
- For more information visit http://msdn2.microsoft.com/en-us/library/ms644967.aspx
hm.KeyUp (
- as above, but for Key Up events
hm.KeyOther
- as above, but for other Key events