spy++捕获窗口消息
打开spy++,窗口截图如下,点击窗口搜索按钮(红框标识) ,如果找不到对应的窗口,鼠标右键刷新即可。
鼠标左键点击窗口搜索图标,按住不放,拖到需要抓取消息的窗口上:
spy++会自动在列表中高亮定位抓取到的窗口,如下图所示,notepad++的new1窗口被抓取到了。再点击菜单栏 监视->日志消息:
在弹窗的消息选项弹窗中,可以选择需要打印的日志的消息,可以通过消息组选择一类消息,也可以在左侧“要查看的消息”中,通过鼠标左键点击选择和取消选择,也可以通过连续按键盘字母键查找对应的消息。
这样,在操作对应的程序的时候,就能在spy++中看到窗口收到的消息和对应的日志了。
spy++抓取窗口日志,可以免去了调试过程中断点导致的窗口消息中断,便于定位消息和相应的值。
比如,之前我想让edit编辑框支持ctrl+a快捷键,在调试设置断点的时候发现只有消息WM_KEYDOWN,苦思不得其解,然后通过spy++抓取消息后,会发现其实会进入两次WM_KEYDOWN消息循环,第一次是Ctrl按下的时候,wParam是VK_CONTROL值,第二次是a按下的时候,wParam值是'a'或'A'。spy++便于让我们逆向去理解windows的消息机制。
水滴石穿
posted on 2017-07-31 12:36 SpartacusIn21 阅读(7082) 评论(1) 编辑 收藏 举报