Windows Hooker

Toolkits.WindowsHooker History

Hide minor edits - Show changes to output

Changed lines 17-18 from:
to:
* This program was created by Edward Tse, and is based on the Spy program by Michael Boyle.
Changed lines 43-45 from:
[[See the API Documentation|See the API Documentation]]
Use the documentation in combination with the example program below, which illustrates how to use this API
to:
* [[See the API Documentation|See the API Documentation]]
* Use the documentation in combination with the example program below, which illustrates how to use this API
Changed lines 49-50 from:
>><<ddddduy86512345678900000000987654321
to:
>><<
Changed lines 43-61 from:
See the example program below, which illustrates how to use this API
* '''HookManager''': The main object that you create that accesses the
API. e.g., private HookManager hm = new HookManager ();
* 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
* hm.MouseDown (event handler): attach an event handler to a detected Mouse Down event. e.g., \\
hm.MouseDown += new _IHookManagerEvents_MouseDownEventHandler(hm_MouseDown); \\
void hm_MouseDown(int x, int y, int hWnd, int MouseMessage, int HitTestCode, int dwExtraInfo) {}
* hm.MouseUp (event handler): as above, but for a Mouse Up event
* hm.MouseOther (event handler): as above, but for other Mouse events
* hm.KeyDown (event handler): attach an event handler to a detected Key Down event. e.g., \\
hm.KeyDown += new _IHookManagerEvents_KeyDownEventHandler(hm_KeyDown); \\
void hm_KeyDown(int VirtualKeyCode, int Scancode, int RepeatCount, bool KeyPressed, bool PreviousKeyWasDown, bool AltDown, bool ExtendedKey) {}
* hm.KeyUp (event handler): as above, but for Key Up events
* hm.KeyOther (event handler): as above, but for other Key events
to:
[[See the API Documentation|See the API Documentation]]
Use the documentation in combination with the example program below, which illustrates how to use this
API
Changed line 66 from:
>><<
to:
>><<
Added lines 42-61:
'''The API'''
See the example program below, which illustrates how to use this API
* '''HookManager''': The main object that you create that accesses the API. e.g., private HookManager hm = new HookManager ();
* 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
* hm.MouseDown (event handler): attach an event handler to a detected Mouse Down event. e.g., \\
hm.MouseDown += new _IHookManagerEvents_MouseDownEventHandler(hm_MouseDown); \\
void hm_MouseDown(int x, int y, int hWnd, int MouseMessage, int HitTestCode, int dwExtraInfo) {}
* hm.MouseUp (event handler): as above, but for a Mouse Up event
* hm.MouseOther (event handler): as above, but for other Mouse events
* hm.KeyDown (event handler): attach an event handler to a detected Key Down event. e.g., \\
hm.KeyDown += new _IHookManagerEvents_KeyDownEventHandler(hm_KeyDown); \\
void hm_KeyDown(int VirtualKeyCode, int Scancode, int RepeatCount, bool KeyPressed, bool PreviousKeyWasDown, bool AltDown, bool ExtendedKey) {}
* hm.KeyUp (event handler): as above, but for Key Up events
* hm.KeyOther (event handler): as above, but for other Key events
Changed lines 65-66 from:
>><<
to:
>><<ddddduy86512345678900000000987654321
Deleted line 28:
Deleted line 39:
Deleted line 42:
Changed line 13 from:
Notes
to:
'''Notes'''
Changed lines 11-14 from:
Windows Hooker allows you to capture mouse and keyboard events from a PC in any Visual Studio programming environment. This tool uses the Windows Hook API to read all of the incoming keyboard and mouse events. Please note that ALL keyboard and mouse events will be captured including passwords you type into you bank account. This software is similar to those seen in keyboard/mouse loggers. Windows Hooker is not related to the [[Toolkits.CEXI|CEXI Toolkit]] in any way.

'''Please note
that Windows Hooker is a early prototype tool that is provided 'as is'. While we would be happy to receive feedback, there are no resources to provide support and/or extensions to the existing system.'''
to:
Windows Hooker allows you to capture mouse and keyboard events from a PC in any Visual Studio programming environment. This dll wraps the Windows Hook API to read all of the incoming keyboard and mouse events, where it makes these events accessible throug a simple API. This software is similar to those seen in keyboard/mouse loggers.

Notes
* ALL keyboard and mouse events will be captured including passwords you type into you bank account.
* Windows Hooker is a early prototype tool
that is provided 'as is'. While we would be happy to receive feedback, there are no resources to provide support and/or extensions to the existing system.
* Windows Hooker is not related
to the [[Toolkits.CEXI|CEXI Toolkit]].
Changed line 51 from:
* Not all mouse and keyboard events are captured, the system may capture some events and prevent other programs from hooking these events. Examples include moving windows, intellitype, swapping windows.
to:
* Not all mouse and keyboard events are captured. The system may prevent other programs from hooking events. Examples include moving windows, intellitype, and swapping windows.
Added lines 49-53:
!!! Limitations of WindowsHooker library

* Not all mouse and keyboard events are captured, the system may capture some events and prevent other programs from hooking these events. Examples include moving windows, intellitype, swapping windows.
* Sometimes you get multiple keyboard events in Microsoft Office. The subsequent events should be ignored.
Changed lines 51-52 from:
[[Toolkits.GSIDemo]] The GSI Demo toolkit uses the Windows Hook Library to capture keyboard and mouse events.
to:
[[Toolkits.GSIDemo|GSI Demo]]: The GSI Demo toolkit uses the Windows Hook Library to capture keyboard and mouse events.
Added line 29:
Changed line 10 from:
%rfloat,width=700% Attach:WH-KeyLogger.png
to:
%rfloat% Attach:WH-FinalApplication.png
Changed line 10 from:
%rfloat,width=600% Attach:WH-KeyLogger.png
to:
%rfloat,width=700% Attach:WH-KeyLogger.png
Changed line 10 from:
%rfloat,width=500% Attach:WH-KeyLogger.png
to:
%rfloat,width=600% Attach:WH-KeyLogger.png
Changed line 10 from:
%rfloat,width=100% Attach:WH-KeyLogger.png
to:
%rfloat,width=500% Attach:WH-KeyLogger.png
Changed line 10 from:
%rfloat, size=50%% Attach:WH-KeyLogger.png
to:
%rfloat,width=100% Attach:WH-KeyLogger.png
Changed line 10 from:
%rfloat% Attach:WH-KeyLogger.png
to:
%rfloat, size=50%% Attach:WH-KeyLogger.png
Changed line 10 from:
%rfloat% Attach:WH-FinalApplication.png
to:
%rfloat% Attach:WH-KeyLogger.png
Changed lines 11-12 from:
Windows Hooker allows you to capture mouse and keyboard events from a PC in any Visual Studio programming environment. This tool uses the Windows Hook API to read all of the incoming keyboard and mouse events. Please note that ALL keyboard and mouse events will be captured including passwords you type into you bank account. This software is similar to those seen in keyboard/mouse loggers.
to:
Windows Hooker allows you to capture mouse and keyboard events from a PC in any Visual Studio programming environment. This tool uses the Windows Hook API to read all of the incoming keyboard and mouse events. Please note that ALL keyboard and mouse events will be captured including passwords you type into you bank account. This software is similar to those seen in keyboard/mouse loggers. Windows Hooker is not related to the [[Toolkits.CEXI|CEXI Toolkit]] in any way.
Added line 10:
%rfloat% Attach:WH-FinalApplication.png
Changed line 27 from:
* [[Register the Windows Hooker DLL|Register the Windows Hooker Dll]]: Follow these step by step instructions '''once''' to register the Windows Hooker Dll
to:
* [[Register the Windows Hooker DLL|Register the Windows Hooker dll]]: Follow these step by step instructions '''once''' to register the Windows Hooker Dll
Changed lines 37-38 from:
* [[Register the Windows Hooker DLL|Register the Windows Hooker Dll]]: Follow these step by step instructions '''once''' to register the Windows Hooker Dll
to:
* [[Register the Windows Hooker DLL|Register the Windows Hooker dll]]: Follow these step by step instructions '''once''' to register the Windows Hooker Dll
Changed line 27 from:
to:
* [[Register the Windows Hooker DLL|Register the Windows Hooker Dll]]: Follow these step by step instructions '''once''' to register the Windows Hooker Dll
Changed lines 35-40 from:
'''Using GSI Demo'''
to:
'''Using Windows Hooker'''

* [[Register the Windows Hooker DLL|Register the Windows Hooker Dll]]: Follow these step by step instructions '''once''' to register the Windows Hooker Dll

'''Programming with Windows Hooker'''
Changed lines 26-27 from:
* [[Attach:WindowsHooker.zip|WindowsHooker.zip]] Download / unzip the Windows Hooker library into a folder with a descriptive name (e.g., SDGToolkit).
to:
* [[Attach:WindowsHooker.zip|WindowsHooker.zip]] Download / unzip the Windows Hooker library into a folder with a descriptive name (e.g., WindowsHooker).
Added lines 1-50:
%define=box padding-left=1em padding-right=1em margin='3px 3px 0'%
%define=yellowbox box bgcolor=#fdfaea border='1px solid #ffad80'%
%define=redbox box bgcolor=#fff3f3 border='1px solid #ffc9c9'%
%define=bluebox box bgcolor=#f4fbff border='1px solid #a1cae6'%
%define=skybox box bgcolor=#f8fcff border='1px solid #aaaaaa'%
%define=greybox box bgcolor=#fbfbfb border='1px solid #aaaaaa'%
%define=greenbox box bgcolor=#e6f3e5 border='1px solid #8fd586'%
%define=whitebox box bgcolor=#ffffff border='1px solid #999999'%
\\
Windows Hooker allows you to capture mouse and keyboard events from a PC in any Visual Studio programming environment. This tool uses the Windows Hook API to read all of the incoming keyboard and mouse events. Please note that ALL keyboard and mouse events will be captured including passwords you type into you bank account. This software is similar to those seen in keyboard/mouse loggers.

'''Please note that Windows Hooker is a early prototype tool that is provided 'as is'. While we would be happy to receive feedback, there are no resources to provide support and/or extensions to the existing system.'''

!!! Contents

* [[#download | Download and Installation]]
* [[#tutorials | Tutorials and Examples]]
* [[#links | Links]]
\\
[[#download]]
>>greenbox<<
!!! Download and Installation

Download the Windows Hook Library

* [[Attach:WindowsHooker.zip|WindowsHooker.zip]] Download / unzip the Windows Hooker library into a folder with a descriptive name (e.g., SDGToolkit).

>><<


[[#tutorials]]
>>bluebox<<
!!! Tutorials and Examples

'''Using GSI Demo'''
* [[Simple Hooker Application]]. Learn how to create a simple C# application to read keyboard and mouse events.

>><<

[[#links]]
>>greybox<<
!!! Links

[[Toolkits.GSIDemo]] The GSI Demo toolkit uses the Windows Hook Library to capture keyboard and mouse events.

'''Papers / Videos'''

* Tse, E., Greenberg, S. and Shen, C. (2006) [[http://grouplab.cpsc.ucalgary.ca/papers/2006/06-GSIDemo-Tse-ICMI/06-GSIDemo-Tse-ICMI.pdf|GSI DEMO: Multiuser Gesture / Speech Interaction over Digital Tables by Wrapping Single User Applications.]] Proc Eighth International Conference on Multimodal Interfaces (ICMI’06), (Nov 2-4, Banff, Canada), ACM Press.

>><<