A Low-Level Hook Example
The following example uses the WH_KEYBOARD_LL
hook
in a pure VB application, which is shown
in Figure 12-5. You do not have to use C++ code to
install and use this hook. In fact, in many instances you can
substitute this hook for a system-wide WH_KEYBOARD
hook; this way, you do not have to use any language other than VB.
Figure 12-5. Screenshot of low-level keyboard hook application
Table 12-3 presents the nondefault properties of the form and its controls.
Table 12-3. Nondefault Properties of the Form and Its Controls
Object Type |
Property Name |
Property Value |
---|---|---|
Form |
Name |
Form2 |
Form |
Caption |
“WH_KEYBOARD_LL Hook Application” |
Form |
BorderStyle |
3-Fixed Dialog |
Form |
Top |
420 |
Form |
Left |
132 |
Form |
Height |
1440 |
Form |
Width |
4065 |
Command Button1 |
Name |
cmdHook |
Command Button1 |
Caption |
“hook” |
Command Button1 |
Top |
120 |
Command Button1 |
Left |
1530 |
Command Button1 |
Height |
315 |
Command Button1 |
Width |
915 |
Command Button2 |
Name |
cmdUnHook |
Command Button2 |
Caption |
“unhook” |
Command Button2 |
Top |
600 |
Command Button2 |
Left |
1530 |
Command Button2 |
Height |
315 |
Command Button2 |
Width |
915 |
This application sets a system-wide, low-level keyboard hook and
discards any DEL key presses. More specifically, it discards the
WM_KEYDOWN
and WM_KEYUP
messages for the DEL key.
To see how this application operates, open up several copies of Notepad or another word ...
Get Subclassing and Hooking with Visual Basic now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.