1.技术要点
spy++值得学习借鉴之处是对Windows各种消息的捕获和发送功能的实现。这些消息有数百种。
这些函数主要有
·SendMesage()
·GetMessage()
·TranslateMessage()
·DisplayMessage()
·PostQuitMessage()
·PostMessage()
2.设计思路
该程序所使用的AppWinzard向导是Win32的应用程序。程序的入口点函数是WinMain(),在用CreateWindow()创建了初始主窗口,有MainWndProc()函数实现对各个窗口消息事件和系统命令的处理。
程序主界面的菜单消息均是WM_COMMAND消息,这种消息是有SpyCommand()函数来处理。spyCommand()函数中对菜单相应的各种对话框用MyDialogBox()
函数进行封装。MainWndProc()函数首先调用SpyCommand()函数,然后为调用的MyDialogBox()函数成为回调函数SelectWindowDlgProc.其他菜单对应的消息处理过程与此类似。
3入口点函数WinMain()
和主窗口处理函数SpyWndProc()在spy.c中此外,在文件spy.c中还有SpyWndProc()SpyInit() Putinit()  PutOptions()  InitMenu()  SpyCommand()等函数。
其中SpyWndProc()为程序的主窗口过程函数,主要用于处理各种消息。
函数SpyInit()用于程序的一些初始化工作,比如初始化窗口类等、