打开spy++,窗口截图如下,点击窗口搜索按钮(红框标识) ,如果找不到对应的窗口,鼠标右键刷新即可。

spy++捕获窗口消息

  鼠标左键点击窗口搜索图标spy++捕获窗口消息,按住不放,拖到需要抓取消息的窗口上:

spy++捕获窗口消息

 spy++会自动在列表中高亮定位抓取到的窗口,如下图所示,notepad++的new1窗口被抓取到了。再点击菜单栏 监视->日志消息:

 spy++捕获窗口消息

 在弹窗的消息选项弹窗中,可以选择需要打印的日志的消息,可以通过消息组选择一类消息,也可以在左侧“要查看的消息”中,通过鼠标左键点击选择和取消选择,也可以通过连续按键盘字母键查找对应的消息。

spy++捕获窗口消息

 这样,在操作对应的程序的时候,就能在spy++中看到窗口收到的消息和对应的日志了。

spy++捕获窗口消息

 

 spy++抓取窗口日志,可以免去了调试过程中断点导致的窗口消息中断,便于定位消息和相应的值。

 比如,之前我想让edit编辑框支持ctrl+a快捷键,在调试设置断点的时候发现只有消息WM_KEYDOWN,苦思不得其解,然后通过spy++抓取消息后,会发现其实会进入两次WM_KEYDOWN消息循环,第一次是Ctrl按下的时候,wParam是VK_CONTROL值,第二次是a按下的时候,wParam值是'a'或'A'。spy++便于让我们逆向去理解windows的消息机制。

相关文章:

  • 2021-12-20
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
  • 2021-08-04
  • 2021-07-06
  • 2022-12-23
  • 2022-01-14
猜你喜欢
  • 2022-12-23
  • 2021-06-23
  • 2022-12-23
  • 2021-05-21
  • 2021-05-25
  • 2021-12-27
  • 2022-02-13
相关资源
相似解决方案