Skip to Content
Subclassing and Hooking with Visual Basic
book

Subclassing and Hooking with Visual Basic

by Stephen Teilhet
June 2001
Intermediate to advanced
706 pages
24h 10m
English
O'Reilly Media, Inc.
Content preview from Subclassing and Hooking with Visual Basic

A Thread-Specific Example

The example presented here, which is shown in Figure 11-2, will build on what you learned in Chapter 9 and Chapter 10. By following this example, you will see the differences between the WH_CALLWNDPROC, WH_CALLWNDPROCRET, and WH_GETMESSAGE hooks. This example installs the three hooks. Now, when you click the PostMessage and PostThreadMsg buttons, you will see the WH_GETMESSAGE hook display messages in the text box.

Screenshot of example application

Figure 11-2. Screenshot of example application

Table 11-1 lists the nondefault properties of the form and its controls.

You use this application in the same way you used the sample applications in the previous two chapters. Click the hook button to install all three hooks, and then click each of the lower buttons shown in Figure 11-2 to send and post the WM_NULL message. The text box will indicate which hook intercepted the WM_NULL message, as well as the available parameters for that hook. There is no difference from the previous applications in output displayed when you click the SendMessage type buttons. When you click the PostMessage and PostThreadMsg buttons, the WH_GETMESSAGE hook now displays a line of text indicating that it has intercepted the posted message.

Table 11-1. Nondefault Properties of the Form and Its Controls

Object Type

Property Name

Property Value

Form

Name

Form2

Form

Caption

“WH_GETMESSAGE Hook Test”

Form

Top

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

COM+ Programming with Visual Basic

COM+ Programming with Visual Basic

Jose Mojica
Programming in the .NET Environment

Programming in the .NET Environment

Damien Watkins, Mark Hammond, Brad Abrams

Publisher Resources

ISBN: 0596001185Errata Page