home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
SPY4V12.ZIP
/
SPY.HLP
(
.txt
)
< prev
next >
Wrap
OS/2 Help File
|
1989-11-16
|
16KB
|
545 lines
ΓòÉΓòÉΓòÉ 1. About Spy ΓòÉΓòÉΓòÉ
Spy is a debugging tool who's main purpose, is to display the window messages
that are sent to one or more windows.
Spy watches the messages that a window receives by hooking the the HK_INPUT and
HK_SENDMSG hooks
In addition to displaying the messages that are sent to windows, spy also
allows you to display information about windows, queues, accelerator tables.
Spy also provides a way to convert addresses into symbolic names.
See Display Format for the message display format.
ΓòÉΓòÉΓòÉ 2. Message Display Format ΓòÉΓòÉΓòÉ
This section describes the format of how the messages are displayed. The
begining of each line, is common to all messages, regardless of which message
it is. The first two characters, shows the origins of the message as follow:
I: - Input hook and the message is removed (WinGetMsg, or WinPeekMsg with
PM_REMOVE)
I- - Input hook no remove (WinPeekMsg with PM_NOREMOVE)
S: - Send message hook, and the message was sent from the same thread.
S* - Send message hook, and the message was sent from a different thread or
process.
Following the message prefix, is the alphabetical name of the message, that
was sent or posted, followed, by the window handle (H:) the message was sent
or posted to. The remaing fields depends on which type of message is being
displayed.
ΓòÉΓòÉΓòÉ 3. Help for Keys ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 4. Help for Message List ΓòÉΓòÉΓòÉ
This command allows you to be selective about which messages, you wish to
monitor.
The dialog contains the following fields:
Message: - Displays the current message from the list box, and also allows you
to directly enter a message. You may enter the message in Hexidecimal,
Decimal, or by name.
Message List - The list box contains most of the know messages. The messages
may either be displayed in numerical order, or in alphabetical order.
All - Selects all messages in the list.
None - Deslects all messages in the list.
Char On - Selects all WM_CHAR type messages.
Char Off - Deselect all WM_CHAR type messages.
Mouse ON - Selects all messages that are mouse related.
Mouse Off - Deselects all messages that are mouse related.
Freq On - Selects some messages, that happen often, and that we usually do not
wish to monitor, such as WM_HITTEST.
Freq Off - Deselects the messages, that happen often and that we usually do not
wish to monitor, such as WM_HITTEST.
Input Hook - Should we monitor the input hook?
SendMsg Hook - Should we monitor the Send Message Hook?
Display undefined msg - Do you want all of the messages that are not defined in
this table to be monitored or not. Usually these messages are the messages
that are above WM_USER.
Ok - Dismiss the dialog, and update our table with the new message selections.
Cancel - Dismiss the dialog without updating our tables.
ΓòÉΓòÉΓòÉ 5. Help for Output ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 6. Help for Window List ΓòÉΓòÉΓòÉ
This command displays a list box of all of the windows that are currently
defined on the system. You can select one or more windows from this list to
monitor the messages for. The items in this list are displayed in the format:
xxxx(n) - ID: iii, where the xxxx is the hexidecimal value of the low word of
the window handle, (n) is the level number. The level numbers are the number
of layers deep we are from HWND_DESKTOP (or HWND_OBJECT). A level 3 window is
a child of a level 2 window, etc.
The Window Handle: field, displays the complete window handle, it also allows
you to enter one manually. The entered value, can be either in hexidecimal or
decimal.
The OK Push Button - Will exit the dialog and update Spy's internal list of
which windows to monitor windows for.
The CancelPush Button - Will exit the dialog without updating.
The All Push Button - Selects all of the windows in the list.
The None Push Button - Deselect all of the windows in the list.
The Mouse Push Button - Captures the mouse, and waits for you to click the
mouse over a window. While the mouse button is down, the window information on
the right hand side of the dialog is updated to show information about the
window, that the mouse is currently over. If the Control key is down, the code
will walk up the parent chain to find a frame window.
ΓòÉΓòÉΓòÉ 7. Help for Save List ΓòÉΓòÉΓòÉ
Will save the contents of the spy main window (listbox) to a file.
A dialog is displayed that will prompt you for the name of the output file, and
whether the information should be appended to the specified file, or should
overwrite the file.
ΓòÉΓòÉΓòÉ 8. Help for About ΓòÉΓòÉΓòÉ
Displays information about help...
ΓòÉΓòÉΓòÉ 9. Help for List Near Symbol ΓòÉΓòÉΓòÉ
The List Near Symbol command provides a way to convert addresses to symbol
names. The symbolic names can only be generated, if you have .SYM files for
the program or DLL, which contains the address.
The dialog that is displayed is non-modal, which allows you to open it, and use
it to throughout your spy session.
The PID: field is used, to select a different process to look at symbols for.
If the symbols are contained in a DLL, you can normally just leave this field
alone, as the address is constant for all processes. If the desired address is
contained in a EXE file (example 47:1234), you need set this value to the
appropriate process number.
Address: field is where you enter desired address.
ΓòÉΓòÉΓòÉ 10. Help for Spy Message Queues ΓòÉΓòÉΓòÉ
This command displays a list box of all of the message queues that are
currently defined on the system. You can select one or more queues from this
list to monitor the messages for.
The ability for selecting message queues is important, when you need to monitor
messages that are sent during the creation process of the window.
The Left hand side contains a listbox, which contains an entry for each of the
message queues that existed, when the command was selected.
The Hmq: field, displays the complete handle to the message queue, it also
allows you to enter one manually. The entered value, can be either in
hexidecimal or decimal.
The OK Push Button - Will exit the dialog and update Spy's internal list of
message queues to monitor messages for.
The CancelPush Button - Will exit the dialog without updating.
The All Push Button - Selects all of the message queues in the list.
The None Push Button - Deselect all of the message queues in the list.
The Mouse Push Button - Captures the mouse, and waits for you to click the
mouse over a window. While the mouse button is down, the queue information on
the right hand side of the dialog is updated to show information about the
message queue of the window, that the mouse is currently over.
ΓòÉΓòÉΓòÉ 11. Help for Spy Send Message ΓòÉΓòÉΓòÉ
This command allows you to send or post messages to windows, on the screen.
This dialog has the following fields:
The Window Handle: field, allows you to manually enter the window handle, that
you wish to send or post a message to.
The Point at Hwnd field allows you to select the window using the mouse.
The Message: field, is where you enter the message value that is sent/posted to
specified window. This value can be entered in Hex (0x4096), Decimal(1024), or
by Message name (WM_QUIT).
The MParam1 and MParam2 fields allow you to enter the value of mp1 and mp2,
that is sent to the destination window. This value again, can be entered in
hex or decimal. In addition, if you specify, the value &1, this value will be
filled in with the address of String1 and likewise for &2.
The Post Message button, will post the message to the specified window. The
status of the post will be displayed in the Result field.
The Send Message button, will send the message to the specified window. The
result returned from the destination window procedure will be displayed in the
Result field.
The Cancel button, will exit the dialog.
ΓòÉΓòÉΓòÉ 12. Help for Spy Menu ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 13. Help for Windows Menu ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 14. Help for Window Select Sub-Menu ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 15. Help for Window Dump Sub-Menu ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 16. Help for Messages Menu ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 17. Help for Hooks Menu ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 18. Help for Hooks Send Message Output Sub-Menu ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 19. Help for Outputs Menu ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 20. Help for Help Menu ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 21. Help for Active ΓòÉΓòÉΓòÉ
The Active menu item is a toggle, that allows you to turn Spy on or off.
ΓòÉΓòÉΓòÉ 22. Help for Exit ΓòÉΓòÉΓòÉ
This command will cause spy to terminate.
ΓòÉΓòÉΓòÉ 23. Help for Clear Window ΓòÉΓòÉΓòÉ
This command will cause the contents of the main spy window to be erased.
ΓòÉΓòÉΓòÉ 24. Help for Save Window ΓòÉΓòÉΓòÉ
Will save the contents of the spy main window (listbox) to a file.
A dialog is displayed that will prompt you for the name of the output file, and
whether the information should be appended to the specified file, or should
overwrite the file.
ΓòÉΓòÉΓòÉ 25. Help for Save Options ΓòÉΓòÉΓòÉ
The save options command saves some of your preferences to OS2.INI, which will
be used the next time spy is executed.
The saved options include:
Outputs - File, Debug Terminal, and/or Screen
Hooks - Input, Send Message, ...
Messages - Alphabetical Sort?
ΓòÉΓòÉΓòÉ 26. Help for List Near Symbol ΓòÉΓòÉΓòÉ
The List Near Symbol command provides a way to convert addresses to symbol
names. The symbolic names can only be generated, if you have .SYM files for
the program or DLL, which contains the address.
The dialog that is displayed is non-modal, which allows you to open it, and use
it to throughout your spy session.
ΓòÉΓòÉΓòÉ 27. Help for Windows List ΓòÉΓòÉΓòÉ
This command displays a list box of all of the windows that are currently
defined on the system. You can select one or more windows from this list to
monitor the messages for.
An addition to simply selecting files, this command also displays information
about the windows, such as the window class, ID, bounding rectangle, etc.
ΓòÉΓòÉΓòÉ 28. Help for Queues ΓòÉΓòÉΓòÉ
This command displays a list box of all of the message queues that are
currently defined on the system. You can select one or more queues from this
list to monitor the messages for.
The ability for selecting message queues is important, when you need to monitor
messages that are sent during the creation process of the window.
ΓòÉΓòÉΓòÉ 29. Help for Mouse Select ΓòÉΓòÉΓòÉ
This command allows you to select one window, to be added to the list of
windows, that spy will monitor the messages for.
After selecting this command, simply move the mouse pointer over the desired
window, and press mouse button 1. If the Control key is down, when you depress
mouse button 1, spy will walk up the window chain, until it finds a Frame
window (a window, whose window class has the CS_FRAME bit set).
ΓòÉΓòÉΓòÉ 30. Help for Mouse deselect ΓòÉΓòÉΓòÉ
This command allows you to use the mouse to remove one window, from the list of
windows, that spy will monitor the messages for.
After selecting this command, simply move the mouse pointer over the desired
window, and press mouse button 1. If the Control key is down, when you depress
mouse button 1, spy will walk up the window chain, until it finds a Frame
window (a window, whose window class has the CS_FRAME bit set).
ΓòÉΓòÉΓòÉ 31. Help for Select All Windows ΓòÉΓòÉΓòÉ
This command toggles on the All window state. When the all window state is
selected, spy will monitor the messages going to all windows.
ΓòÉΓòÉΓòÉ 32. Help for Select All Frames ΓòÉΓòÉΓòÉ
This command toggles on the All window state. When the all window state is
selected, spy will monitor the messages going to all frame windows.
A Frame window is defined as a window who's window class is defined with the
CS_FRAME bit set).
ΓòÉΓòÉΓòÉ 33. Help for Dump One Window ΓòÉΓòÉΓòÉ
This command allows you to dump information about one window. The window is
selected with the mouse. The dumped information contains:
H: - The window handle.
P: - Parent window handle.
C: - First child window handle.
O: - Owner window handle.
ID: - Window Identifier.
MQ: - The handle to the message queue.
(x1, y1) (x2, y2) - Coordinates of window.
ST: - Window Style words.
PID: - Process ID of the window.
TID: - Thread ID of the window.
PFN: - Pointer to window function.
Cl: - Window Class name.
xxxx xxxx - Dump of extra window words.
ΓòÉΓòÉΓòÉ 34. Help for Dump All Windows ΓòÉΓòÉΓòÉ
Dumps information about all windows. Warning, this can be a lengthy process,
unless your output is only going to a disk file.
See Dump One Window for an explanation about the dump format.
ΓòÉΓòÉΓòÉ 35. Help for Dump Accel Table. ΓòÉΓòÉΓòÉ
This command allows you to display an accelerator table for one frame window.
After this command is selected, simply move the mouse over the desired frame
window, or one of it's decedents, and press mouse button 1. The information
will be dumped to the current output devices.
First a header line is displayed, which contains the following information:
HACCEL: - Handle to accelerator table.
HWND: - Frame window handle.
CP: - Which code page it is defined for.
CNT: - Count of items in the accelerator table.
For each item in the accelerator table, a line of information will be
displayed, which contains information like:
fs: - The AF_ bits are defined in pmwin.h.
key: - Which key, may be Char, Virtual key, or Scan code.
cmd: - Which command will be generated.
At the end of each of these lines, the FS field is broken up in to
alphabetical names for each of the bits, the names are as follow:
CH - Use the Character.
VK - Use the virtual key.
SC - Use the Scan code.
SHFT - Shift key must be depresed.
CTRL - Control key must be depresed.
ALT - Alt key must be depresed.
LONE - Must be a lone key.
SYS - Generate a WM_SYSCOMMAND message.
HELP - Generate a WM_HELP message.
ΓòÉΓòÉΓòÉ 36. Help for Message List ΓòÉΓòÉΓòÉ
This command allows you to be selective about which messages, you wish to
monitor.
A dialog will be displayed, which allows you to individually select the
messages, or classes of messages.
ΓòÉΓòÉΓòÉ 37. Help for Disable Message ΓòÉΓòÉΓòÉ
This command allows you to remove a message for the list of messages that are
currently being monitored. This command will disable the message of the
currently selected line in the output listbox.
ΓòÉΓòÉΓòÉ 38. Help for Enable Message ΓòÉΓòÉΓòÉ
This command allows you to again monitor a message that was previously removed
using the Disable message command.
ΓòÉΓòÉΓòÉ 39. Help for Alpha Sort Message List ΓòÉΓòÉΓòÉ
This command is a toggle, which is used by the Message List dialog, to choose
if the messages should be displayed in numerical order, or in alphabetical
order.
ΓòÉΓòÉΓòÉ 40. Help for Send Message ΓòÉΓòÉΓòÉ
This command sends or posts messages to one or more windows.
ΓòÉΓòÉΓòÉ 41. Help for Input Hook ΓòÉΓòÉΓòÉ
This command toggles the state of whether to monitor the message that come in
the HK_INPUT hook or not.
ΓòÉΓòÉΓòÉ 42. Help for Send Message Hook ΓòÉΓòÉΓòÉ
This command toggles the state of whether to monitor the messages that come in
from the HK_SENDMSG hook or not.
ΓòÉΓòÉΓòÉ 43. Help for Send Message Extended Data ΓòÉΓòÉΓòÉ
This command toggles the state of whether we should display extended
information for messages that come in from the Send Message hook or not.
The extended information may contain SWP structures, Rectangles, Queue
messages, etc. See the Message format item for the formats of information.
ΓòÉΓòÉΓòÉ 44. Help for Send Message Call Stack ΓòÉΓòÉΓòÉ
This command toggles the state of whether we should dump stack information for
the commands that come back from the send message hook. The stack information
includes: the process id(PID), the Thread ID(TID), and up to five address, of
where the Send message was called from.
ΓòÉΓòÉΓòÉ 45. Help for Output Screen Lines ΓòÉΓòÉΓòÉ
***** To Be Filled in *****
ΓòÉΓòÉΓòÉ 46. Help for Output Debug Terminal ΓòÉΓòÉΓòÉ
This command toggles the state of whether any displayed information should go
to the debug terminal or not.
This command may depend of if you have a debugging version of OS2 or not, and
if you have added a /C1 or /C2 to the PMDD statement in config.sys, for Com1:
or Com2:..
ΓòÉΓòÉΓòÉ 47. Help for Output File ΓòÉΓòÉΓòÉ
This command will toggle whetter outputs should go to an output file or not.
The name of the output file can be set, by the Outputs... command.
ΓòÉΓòÉΓòÉ 48. Help for Outputs ΓòÉΓòÉΓòÉ
This command toggles whetter output should go to the main spy window or not.
ΓòÉΓòÉΓòÉ 49. Help for How to Use Help ΓòÉΓòÉΓòÉ
Use this choice to find out what kind of help is available and how to use the
help that is available.
In general, help is provided for every action bar choice, pull-down choice, and
other selections.
ΓòÉΓòÉΓòÉ 50. Help for Extended Help ΓòÉΓòÉΓòÉ
Extended help provides general information about the program you are using.
ΓòÉΓòÉΓòÉ 51. Help for Keys ΓòÉΓòÉΓòÉ
Use this choice to display a list of keys.
The list of keys groups similar keys together so they are easier to find.
ΓòÉΓòÉΓòÉ 52. Help for Help Index ΓòÉΓòÉΓòÉ
The help index lists all of the titles of the help information that is
available.
ΓòÉΓòÉΓòÉ 53. Help for About. ΓòÉΓòÉΓòÉ
Use this choice to display the copyright information.