Annotation of pmsdk/samples/spy/readme, revision 1.1.1.2

1.1       root        1: The spy program and dynamic link library, is a sample application that
1.1.1.2 ! root        2: hooks the HK_INPUT and/or HK_SENDMSG hooks, and spys on what messages
1.1       root        3: are sent to which window.  
                      4: 
                      5: The application currently has two threads:
                      6:   1) The main thread controls the user interface.
                      7:   2) The second thread waits for messages from the hooks.
                      8: 
1.1.1.2 ! root        9: This tool is very useful for debugging, and looks up symbols
        !            10: from symbol files with the "Spy...List Near Symbol..." selection.
        !            11: This is "context sensitive" -- given the appropriate PID, you can
        !            12: identify symbols given that context.  For example, you could run
        !            13: another application, look at the window for that application
        !            14: (using the Windows...Window List... option), get the window's PID,
        !            15: and perhaps print out where in the window procedure you are (by
        !            16: looking in the Pfnwp: field).
        !            17: 
        !            18: Note:  Since the "List Near Symbol" dialog box is modeless, you can move
        !            19: it off to the side while you work on something else (although its position
        !            20: is saved relative to the SPY main window).
        !            21: 
        !            22: 
        !            23: File List:
        !            24:   message.c    - Processes Message dialog box
        !            25:   options.c    - Processes Options style dialog boxes
        !            26:   queues.c     - Processes "Message Queue List" dialog
        !            27:   readme       - This file
        !            28:   spy          - Make file for the program and the DLL
        !            29:   spy.c                - The source to the executable program
        !            30:   spy.def      - Definition file for executable program
        !            31:   spy.exe      - Executable
        !            32:   spy.h                - Headers
        !            33:   spy.ico      - The icon for the application
        !            34:   spy.rc       - The resource file
        !            35:   spy.sym      - SPY symbol file
        !            36:   spydlgs.dlg  - Dialog definitions
        !            37:   spyhook      - Makefile for the SPYHOOK library
        !            38:   spyhook.c    - Source to the DLL
        !            39:   spyhook.def  - Definition file for the DLL
        !            40:   spyhook.h    - Header file for the DLL
        !            41:   spyhstrt.asm - Startup code for the DLL
        !            42:   spytbls.c    - Output Message Tables for SPY program
        !            43:   spyutil.asm  - Assembly language utility routines
        !            44:   symbol.c     - Code for displaying symbols
        !            45:   symbol.h     - Headers needed to read .SYM symbol files
        !            46:   window.c     - Spy Window dialog processing
        !            47: 
        !            48:   spyhook.h    - include file gets copied to ..\include
        !            49:   spyhook.lib  - import library gets copied to ..\lib (and deleted)
        !            50:   spyhook.dll  - dynamic link library gets copied to ..\dll (and deleted)
        !            51:   spyhook.sym  - symbol file gets copied to ..\dll (and deleted)
        !            52: 
        !            53: Note:   This application needs "selector.h", which should be in ..\include.
        !            54: 
        !            55: 
        !            56: Bugs:  Spy...List Near Symbol produces a dialog box with a size border.
        !            57:        However, the controls are not always redrawn as expected if you
        !            58:        change the size of the dialog box.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.