═══ 1. Message Queue - Process Selection Window ═══ This window allows you to select the process you wish to monitor. A list of processes currently running appears in the 'Processes to be monitored' combo box. In parentheses next to each process name is its process id number in decimal. To monitor a process, select a currently running process from the 'Processes to be monitored' combo box and then select 'Message queue' from the Monitors menu to start the message queue feature on the selected process. You can only monitor one message queue at a time. To monitor messages for a new process, close the open message queue monitor window and select a new process to monitor. Message Queue Process Selection Menus  File  Monitors  Options  Help ═══ 1.1. File Menu ═══ The File menu contains only one choice, Close MQWA. ═══ 1.2. Monitors Menu ═══ The Monitors menu of the Message Queue - Process Selection window only one option:  Message Queue ═══ 1.2.1. Message Queue ═══ Select Monitors->Message queue to open a Message Queue window. Here, you can monitor or intercept OS/2 Presentation Manager or Windows messages to and from your application. ═══ 1.2.2. Options Menu ═══ The Options menu of the Message Queue - Process Selection window has one option:  Fonts ═══ 1.2.2.1. Fonts ═══ Select Fonts from the Options menu to change the font used to display information in the window. ═══ 1.3. Help ═══ The Help menu provides help for the current window and for other help on the message queue tool. The following choices are available:  Help index -- displays a list of index entries within the help file.  General help -- displays high-level help for the current window.  Using help -- displays help on how to access and use help features of the message queue tool.  Product information -- displays the logo screen for the message queue tool. If you want to search for a string within a help file, click on Search from the help window, enter the search string in the entry field, select All sections, and click on Search ═══ 2. Message Queue Window ═══ The Message Queue window displays OS/2 Presentation Manager or Windows messages associated with an application. It presents formatted messages in a list as they occur. Using the message queue window, you can control:  How the information is displayed for each message  How message parameters are formatted  Which messages are monitored  Which windows have their messages monitored  Which message queues have their messages monitored (OS/2 only)  How the user-generated messages are displayed Message Queue Menus  File  Options  Help ═══ 2.1. Close MQWA ═══ Select Close MQWA from the File menu to exit the MQWA tool. ═══ 2.2. Options Menu ═══ The Options menu of the Message Queue window contains the following choices:  Suspend -- Stops any new messages from being added  Clear -- Deletes all currently displayed messages  Monitor messages  Monitor windows  Monitor queues  Format parameters  Define messages -- Lets you define your own messages to be monitored  Display style  Fonts ═══ 2.2.1. Monitor Messages Window ═══ Use the Monitor Messages window to specify the messages you want monitored. The Monitor Messages window contains the following sections:  Defined Message Ids  Sort by name or ID  Undefined Messages IDs  Include all message IDs  Define Messages  Monitor ═══ 2.2.1.1. Defined Message IDs ═══ Defined Message IDs are the pre-defined and user-defined messages. Each message is displayed as a name and as a hex number. You can select multiple messages for monitoring. ═══ 2.2.1.1.1. Sort ═══ You can sort messages in two ways:  Select the Name button to sort the message names alphabetically.  Select the ID button to sort the message IDs numerically. ═══ 2.2.1.1.2. Undefined Messages IDs ═══ Select one or both of the check boxes in the Undefined Message IDs group box:  Select Include WM_USER to include all undefined messages that are in the range WM_USER and above.  Select Include non WM_USER to include all undefined messages that are in the range less than WM_USER. ═══ 2.2.1.1.3. Include all message IDs ═══ Select the Include all message IDs check box to include all messages. When this check box is enabled, the defined and undefined message selections are disabled. ═══ 2.2.1.1.4. Monitor ═══ Monitor  Select Messages to application to monitor messages that are received by an application.  Select Messages from application to monitor messages that are dispatched by an application.  Select Post messages to monitor post messages.  Select Send messages to monitor send messages. ═══ 2.2.1.2. Monitor Windows Window ═══ Use the Monitor Windows window to specify the windows you want monitored. The Monitor Windows window consists of the following:  Windows -- Select this check box to see each window displayed with its class and handle. You can select multiple windows for monitoring.  Sort selections - Select the Class button to sort the window names alphabetically. - Select the Hwnd button to sort the window handles in numerical order. - Select the Parent and z-order button to sort the window handles to show the parent and z-order relationship of application windows.  Monitor all windows -- Select this check box to monitor all the windows. This disables individual selection. ═══ 2.2.1.3. Format Message Parameters ═══ Use the Format Message Parameters dialog to specify how message parameters are displayed. This dialog consists of the following:  Message -- A list of all the defined messages.  Sort selections: - Select Name to sort messages alphabetically by name. - Select ID to sort messages numerically by ID.  Parameter formatting: For each of MP1 and MP2 (Message parameters 1 and 2), select an arrow to open the list, and select the desired formatting. Your selections are saved in program profiles. ═══ 2.2.1.4. Define Messages ═══ Use the Define Messages dialog to define messages. Message: In the Name entry field, type in the name of the message that you want to define. In the ID entry field, type in the hex number for the message or use the spin button to locate the number of the message. Default parameter formatting:  MP1 - Message parameter 1: Select the arrow to open the MP1 list, and select the default type of formatting you want from the parameter list. The formatting selections are saved in program profiles.  wParam - wParam parameter: Select the arrow to open the wParam list, and select the default type of formatting you want from the parameter list. The formatting selections are saved in program profiles.  MP2 - Message parameter 2: Select the arrow to open the MP2 list, and select the default type of formatting you want from the parameter list. The formatting selections are saved in program profiles.  lParam - lParam parameter: Select the arrow to open the lParam list, and select the default type of formatting you want from the parmaeter list. The formatting selections are saved in program profiles. Message monitored by default Select this check box if you want to monitor the messages by default. ═══ 2.2.1.5. Display Style ═══ Use the Display Style dialog to specify which columns are displayed in the Message Queue window. Note: The choices you make here will affect system performance. You may want to experiment with different settings to see what works best for your system. Select the columns you want to be displayed in the Message Queue window. These are described in the column list. Select items in the Message Count group box to specify the maximum number of messages displayed or deleted at one time Select Automatic scrolling if you want the window to scroll forward as the screen fills with messages. (This choice decreases system performance.) Select Display titles if you want titles to be displayed in the window. (This choice does not affect system performance.) ═══ 2.2.1.5.1. Column List ═══ The following column titles are available:  Class -- Window class of the window handle the message is being directed to Note: Some messages do not have a window handle (for example, WinPostQueueMsg)  Hwnd -- Window handle the message is being directed to Note: Some messages do not have a window handle (for example, WinPostQueueMsg)  Queue -- The message queue the message is being directed to  Message -- Message name  Msg ID -- Message formatted as 32-bit signed integer  Msg-hex -- Message formatted as 32-bit hex number  MP1 -- Message parameter 1  wParam -- wParam parameter  MP2 -- Message parameter 2  lParam -- lParam parameter  Type -- Indicates whether the message is a post message or a send message  Time -- Indicates the time stamp of when the message was generated. The time stamp is an offset from a starting time. Available only for Post messages.  Mouse -- The mouse position when the message was generated. Available only for Post messages.  Options -- Message removal options. Available only for Post messages.  Model -- Message identity. Available only for Send messages.  Task -- Whether the message was dispatched between tasks or not. Available only for Send messages.  From PID -- Process identity of the process that dispatched the message. Available only for Send messages.  From TID -- Thread identity of the thread that dispatched the message. Available only for Send messages.  To PID -- Process identity of the process that received the message  To TID -- Thread identity of the thread that received the message  Direction -- Direction of the message relative to the debuggee process  -- Debuggee process dispatched a message to another process  -- Debuggee process received a message from another process  -- Debuggee process dispatched a message to itself  -- Whether the debugger processed message on behalf of the debuggee. This occurs when the debuggee is stopped. ═══ 2.2.1.5.2. Message Count ═══ Use the Message Count group box to specify how many messages should be displayed at one time and how many should be deleted at one time. You may want to experiment with different settings to see how they affect performance. Maximum displayed Enter the maximum number of messages to display. Deleted at one time Enter the number of messages to be deleted at one time. Whenever the message queue list becomes full, this number of messages will be deleted on a first in, first out basis. For optimum performance, use a large number. Unlimited If you select unlimited, there is no limit on how many messages are displayed, and the Maximum displayed and Deleted at one time check boxes are not selectable. This choice may decrease performance. ═══ 2.2.1.6. Monitor Message Queue Window (OS/2 Only) ═══ Use the Monitor Message Queue window (available on OS/2 versions of the debugger only) to specify the message queues you want monitored. This window consists of the following:  Message Queue -- This section contains a list of the message queues. You can select multiple queues for monitoring.  Sort selections: - Select HMQ to sort the message queues by message queue handles. - Select TID to sort the message queues by thread id.  Monitor all message queues -- Select this check box to monitor all the message queues. ═══ File Menu ═══ ═══ Close MQWA ═══ ═══ Monitors Menu ═══ ═══ Message Queue ═══ ═══ Options Menu ═══ ═══ Fonts ═══ ═══ File Menu ═══ ═══ Close MQWA ═══ ═══ Options Menu ═══ ═══ Options Menu ═══ ═══ Options Menu ═══ ═══ Monitor Messages Window ═══ ═══ Monitor Windows Window ═══ ═══ Monitor Message Queue Window (OS/2 Only) ═══ ═══ Format Message Parameters ═══ ═══ Define Messages ═══ ═══ Display Style ═══ ═══ Fonts ═══ ═══ Message Queue - Process Selection Window ═══ ═══ Message Queue Window ═══ ═══ Define Messages ═══ ═══ Display Style ═══ ═══ Format Message Parameters ═══ ═══ Monitor Messages Window ═══ ═══ Monitor Message Queue Window (OS/2 Only) ═══ ═══ Monitor Windows Window ═══