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 ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access