Inspect Objects

[This is preliminary documentation and subject to change.]

The Inspect Objects (Inspect.exe) sample hooks global keystroke combinations, even when it is not the active application. The sample has several shortcut keys you can use to activate its various options.

Key combination Menu command Action
ctrl+shift+f2 Get Properties Retrieves the object properties of the object under the cursor.
ctrl+shift+f3 Do Default Actions Invokes the default action of the object under the cursor.
ctrl+shift+f4 Select Selects the object under the cursor.
ctrl+shift+f5 Focus Sets the keyboard focus to the object under the cursor.
ctrl+shift+f6 Move to Next Moves the cursor to the next object in logical order from the one under the cursor.
ctrl+shift+f7 Move to Previous Moves the cursor to the previous object in logical order from the one under the cursor.
ctrl+shift+f8 Move Left Moves the cursor to the peer object to the left of the one it is over.
ctrl+shift+f9 Move Above Moves move the cursor to the peer object above the object it is over.
ctrl+shift+f10 System Menu Bring up the system menu.
ctrl+shift+f11 Move Right Moves the cursor to the peer object to the right of the one it is over.
ctrl+shift+f12 Move Below Moves the cursor to the peer object below the one it is over.

When performing object navigation, the application will produce a beep if no object is available to move to.

Other options for this sample application are accessed through the sample's system menu. The Watch Focus command instructs the sample to follow the keyboard focus; the Watch Caret command tells the sample to follow the caret. When Watch Focus is on, the sample installs an asynchronous focus event hook, and moves the caret to the top left of the object with the focus. This causes Inspect to refresh its properties in about one second.

Something to keep in mind, that Inspect always uses the screen location to navigate from.

When using Office '97, an out-of-context procedure has better performance than an in-context procedure does. An in-context hook procedure is located in a dynamic-link library (DLL) that Active Accessibility maps into the server's address space. Similarly, an out-of-context hook procedure is located in the client's address space, whether it's in the code body or in a DLL.