A Single-Thread Example
The example presented here is simple in structure: it watches for all mouse messages
and displays each message in the text box. Figure 13-3 shows a screenshot of this application. To use
this application, simply click the hook button contained in the MOUSE
frame. This will install the WH_MOUSE
hook and
start displaying the mouse messages in the text box. The text box
will fill up rather quickly as the mouse messages are fired, even
though the mouse must be within the borders of the window for this
hook to capture a mouse message. A system-wide mouse hook will catch
all mouse messages for all windows that are visible on the screen,
including the desktop; had we implemented it, output from this hook
to the text box would have been completely overwhelming.
Figure 13-3. A screenshot of the single-threaded mouse hook application
Table 13-2 presents the nondefault properties of the form and its controls.
Table 13-2. Nondefault Properties of the Form and Its Controls
Object Type |
Property Name |
Property Value |
---|---|---|
Form |
Name |
Form2 |
Form |
Caption |
“WH_MOUSE Hook Demo” |
Form |
Top |
420 |
Form |
Left |
132 |
Form |
Height |
3555 |
Form |
Width |
8655 |
Frame |
Caption |
“MOUSE” |
Frame |
Name |
Frame1 |
Frame |
Top |
120 |
Frame |
Left |
120 |
Frame |
Height |
1335 |
Frame |
Width |
1155 |
TextBox |
MultiLine |
True |
TextBox |
Top |
240 |
TextBox |
Left |
1380 |
TextBox |
Height |
3255 |
TextBox |
Width |
7215 ... |
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.