|
|
1.1 root 1: // ************************************************************************
2: // HEADER : DEBMain.H
3: // PURPOSE : A Win32 Application demonstrating the Debug APIs
4: // FUNCTIONS :
5: // WinMain() - application entry point
6: // MainWndProc() - processes messages
7: // ProcessCommandsWndProc() - processes WM_COMMAND messages
8: // PreferencesDlgProc() - processes messages for "Preferences" dialog box
9: // AttachDlgProc() - processes messages for "Attach" dialog box
10: // AboutDlgProc() - processes messages for "About" dialog box
11: // NewListBoxWndProc() - subclass procedure to prevent listbox moving
12: // COMMENTS :
13: // ************************************************************************
14: #include "DEB.H" // resource and message ids
15:
16: //-- function prototypes
17: LRESULT CALLBACK MainWndProc ( HWND, UINT, WPARAM, LPARAM );
18: LRESULT CALLBACK ProcessCommandsWndProc ( HWND, UINT, WPARAM, LPARAM );
19: LRESULT CALLBACK NewListBoxWndProc ( HWND, UINT, WPARAM, LPARAM );
20: BOOL CALLBACK PreferencesDlgProc ( HWND, UINT, WPARAM, LPARAM );
21: LRESULT CALLBACK MainWndProc ( HWND, UINT, WPARAM, LPARAM );
22: BOOL CALLBACK AttachDlgProc ( HWND, UINT, WPARAM, LPARAM );
23: BOOL CALLBACK AboutDlgProc ( HWND, UINT, WPARAM, LPARAM );
24:
25: // ***********
26: // global data
27: // ***********
28: extern HWND hWndMain; // main window handle
29: extern HWND hWndDebugList; // debug event listbox handle
30: extern HWND hWndTextButtonBar; // windows handle to the text toolbar
31: extern HINSTANCE hInstance; // instance handle of this EXE
32: extern LIST ProcessList; // linked list of debugee process information
33: extern INT ActiveProcesses; // count of active debugee processes
34: extern TCHAR szAppTitle[32]; // name of the application
35: extern HANDLE hProcess; // handle to current running debugee process
36: extern LONG MaxStrLen; // maximum string length in Debug Event listbox
37:
38: //-- debugee specific data
39: extern PROCESS_INFORMATION pi; // process information
40: extern STARTUPINFO si; // debugee startup information
41:
42: //-- private profile settings
43: extern int xPos; // application window's horizontal position
44: extern int yPos; // application window's vertical position
45: extern int nWidth; // application window's width
46: extern int nHeight; // application window's height
47: extern BOOL fMaximized; // flag: maximized state?
48: extern BOOL fToolBar; // flag: display the ToolBar?
49: extern BOOL fSaveOnExit; // flag: save settings upon exit?
50: extern BOOL fSavedDirectory; // flag: use saved directory for opening files?
51: extern BOOL fClearOnNew; // flag: clears the event listbox on a new debugee
52: extern BOOL fVerbose; // flag: verbose event listings
53: extern BOOL fShowSymbols; // flag: show symbols (limited)
54: extern BOOL fSavePreferences; // flag: save the preferences settings
55: extern HFONT hFont; // current handle to the Debug Event listbox font
56: extern LOGFONT LogFont; // current logical font
57: extern COLORREF rgbColor; // current listbox text foreground color
58: extern COLORREF rgbBkColor; // current listbox text foreground color
59: extern LONG DebugMode; // debug mode flag CreateProcess
60: extern LONG DebugeePriority; // debugee priority CreateProcess
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.