ProdSpy

ProdSpy is an investigation tool provided to assist in the use of ProdUI. It provides for gathering information about a control and its containing window. It is designed to be familiar to those who have used Spy++ or similar tools.

Summary

To begin, click and drag the arrow icon (1) to focus on the control or window you wish to investigate. As you hover over the control, information will be displayed in the grid (2) on the ProdSpy window. Once the mouse button is released, the hit testing is stopped and the control information remains displayed.

Also, the control provides a graph (tree) of the parent window and its child controls. Selecting a node on the tree will reveal information about that control. There is also an option to export this graph to a plain text file, an excel spreadsheet or as an HTML page for later use.

 

Usage

image

Complete usage instructions can be found below

1. Left click and drag on this area to begin your research. As long as you keep the left button depressed, ProdUI will investigate any control that passes under the cursor. When You release the left button, the information from the last control you looked at remains displayed.

2. This is the display area. It consists of three information tabs: Control Properties, Automation Support, and Generated Code. These will be discussed in more detail below. This area is where you will find the information about the object you are probing.

3. This area is the menu bar which provides further options for how the tool is used.

image

 

 imageThe pin  icon allows you to “pin” the ProdUI window so that it will always be on top of other windows. Simply click the button again to resume normal window behavior.

 imageThe graph (or tree)  button will expand and contract the control tree graph (discussed below).

 imageThe highlight focus buttonis used when you want to highlight the control that is being represented in the grid. Selecting this will draw a red border around the controls bounding rectangle.

 
 
 
 
 
 
 
 
 
 

Control Property View

image

 

This tab shows various automation-related information associated with the control currently under the cursor. When you release the mouse button, the last control under focus remains in the grid.

The “Application” section shows data about the parent window that the control is currently contained in. The rest of the information deals with the control itself. An explanation of each field can be found when clicking on a value.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Automation Support View

image

 

The “Automation Support” tab contains information specific to MSAA. It will list any supported control patterns, as well as all supported properties.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Code Generation View

image

 

The “Generated Code” tab will display example code after you have invoked a prod using the tool. This code can be copied and pasted into your own project to perform the corresponding action. At this time, only C# is displayed, though VB.Net and C##/CLI are on the way.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Graph View

image

 

When the graph buttonimage on the toolbar is pressed, a tree representing all of the controls contained in the focused items parent window is displayed. Shifting from node to nod will display some basic information below the tree.

Clicking the button again will collapse the panel, hiding the tree.

Note: There is an option in the settings dialog that will allow you to load all of the selected nodes information into the grid. Otherwise, the grid will still display the information for the originally focused control.

 

 

 

 

 

 

 

 

 

 

 

Other usage

 

Invoking Prods

The key image will provide a dropdown list of available Prods. Once a prod has been executed, source code to perform that Prod (both via a session and a static version) will be displayed in the “Generated Code” tab.

image

Here’s an example of the available method for a ProdButton (Click()). Clicking on that menu item will invoke the method against the client control.

 

Setting Properties

To the far right, the properties button image will bring up a separate dialog where other, user specific options can be set.

image

 

Analyzer Options

  • Show Focus Graphic – This will determine whether an icon is overlaid on the control under focus

  • Auto Highlight Focus – This determines whether a red “highlight” box will be drawn around the control currently under focus

 

Graph Window Options

  • Update on node change – enabling this will cause the grid to be updated as you change from node to node on the graph.
  • Highlight focused node – This determines whether a red highlight” box will be drawn around the control currently selected in the graph.
  • Expand Graph – Setting this to true will cause the program to start with the Graph panel expanded,

Last edited Sep 4, 2011 at 9:29 PM by hroark, version 5

Comments

No comments yet.