Spy++ —— 窗口、消息查看分析利器

Spy++ —— 窗口、消息查看分析利器

2016年07月15日 00:25:22

阅读数:23170

1,简介

 
Microsoft Spy++是一个非常好的查看Windows操作系统的窗口、消息、进程、线程信息的工具,简单易用,功能强大。
 

2,下载地址

 
 

3,使用场景

 
(1)我经常用来查询一个不知道从哪里弹出来的广告窗口是哪个进程搞的鬼……然后干掉
(2)枚举所有窗口,查看父子关系,搜索某个窗口是否存在
(3)查询一个窗口(包括隐藏窗口)的属性,包括标题、类名、位置、进程线程
(4)通过分析其他软件的窗口消息,辅助研究其内部实现原理
(5)分析某窗口的消息参数,给其发送冒充消息,以实现特殊的功能
 

4,使用方法

 
1,默认界面 可查看所有顶层窗口,展开可显示子窗口。
2,右键窗口,选择“消息”,可打开该窗口的消息查看窗口。里面实时显示当前消息。
 
 
3,显示一个窗口位置。
右键窗口,选择“突出显示”,之后该窗口的边界会闪烁几次,让你轻易地发现它的位置。
如果没有闪烁,那么也可以通过点击“属性”,显示出该窗口的位置属性,然后在屏幕上根据该位置大致判断出是哪个窗口。
 
突出显示和查看属性:
 
 
4,如果需要分析桌面的某一个存在的窗口属性,点击工具条的第5个按钮(如下图),将弹出界面里的圆圈拖到该窗口上。则该窗口属性显示出来。
如图,查看任务栏中间的子窗口属性:
 
 
 
5,选择工具条第6个按钮,可以在窗口列表中直接定位到该窗口显示。
 
 
如图,直接定位到任务栏的子窗口“显示运行的程序”。
 
6,查看窗口的消息时,可以设置一些条件和格式。
 
可以设置是否查看父窗口、子窗口、同一进程、同一线程、系统中所有窗口的消息。
可以设置哪些消息类型。(“消息选项”界面第2个TAB页“消息”)
可以设置输出哪些内容。(“消息选项”界面第3个TAB页“输出”)
 
 

窗口、消息查看分析利器Spy++的更多相关文章

  1. spy++捕获窗口消息

    打开spy++,窗口截图如下,点击窗口搜索按钮(红框标识) ,如果找不到对应的窗口,鼠标右键刷新即可. 鼠标左键点击窗口搜索图标,按住不放,拖到需要抓取消息的窗口上: spy++会自动在列表中高亮定位 ...

  2. Windows GUI代码与Windows消息问题调试利器

    Windows GUI代码与Windows消息问题调试利器 记得很久前有这么一种说法: 人类区别于动物的标准就是工具的使用.同样在软件开发这个行业里面,对于工具的使用也是高手和入门级选手的主要区别,高 ...

  3. MFC窗口消息PostMessage和SendMessage

    以前这些消息用得比较少,但是今天碰到了个事儿,我看非用消息不可. 事情是这样的,我在线程中需要刷新对话框上面的内容,但是每每执行到UpdateData时就出现了断言错误. 查了相关资料,发现这个可能是 ...

  4. Windows窗口消息大全(转)

    Windows窗口消息大全,全不全自己看 ////////////////////////////////////////////////////////////////////////// #inc ...

  5. 深刻:截获windows的消息并分析实例(DefWindowProc),以WM_NCHITTEST举例(Windows下每一个鼠标消息都是由 WM_NCHITTEST 消息产生的,这个消息的参数包含了鼠标位置的信息)

    1,回调函数工作机制 回调函数由操作系统自动调用,回调函数的返回值当然也是返回给操作系统了. 2,截获操作系统发出的消息,截获到后,将另外一个消息返回给操作系统,已达到欺骗操作系统的目的. 下面还是以 ...

  6. Windows窗口消息大全

    ////////////////////////////////////////////////////////////////////////// #include "AFXPRIV.H& ...

  7. 如何利用wireshark对TCP消息进行分析

    原文:https://www.cnblogs.com/studyofadeerlet/p/7485298.html 如何利用wireshark对TCP消息进行分析   (1) 几个概念介绍 1 seq ...

  8. Win32窗口消息机制 x Android消息机制 x 异步执行

    如果你开发过Win32窗口程序,那么当你看到android代码到处都有的mHandler.sendEmptyMessage和 private final Handler mHandler = new ...

  9. RabbitMQ消息可靠性分析和应用

    RabbitMQ流程简介(带Exchange) RabbitMQ使用一些机制来保证可靠性,如持久化.消费确认及发布确认等. 先看以下这个图: P为生产者,X为中转站(Exchange),红色部分为消息 ...

随机推荐

  1. iframe标签在PC端的使用

    随着前端框架的崛起 各种组件化 模块化开发 然而我发现在PC端要考虑兼容 ~~~~ 自己琢磨着 在PC端怎么吧一个页面做成一个公共的部分  发现有个iframe标签可以在页面中嵌套 虽然iframe可 ...

  2. ZOJ 1608 Two Circles and a Rectangle

    Give you two circles and a rectangle, your task is to judge wheather the two circles can be put into ...

  3. 如何选择梯度下降法中的学习速率α(Gradient Descent Learning Rate Alpha)

    梯度下降算法的任务是寻找参数θ,使之能够最小化损失函数. 那么梯度下降法中的学习速率α应该如何选择呢?通常我们画出损失函数随迭代次数增加而变化的曲线. 可能会得到如下的一条曲线,x轴表示迭代次数,y轴 ...

  4. layui select多选下拉显示 以及回显

    <input type="hidden" id="hiddensheshi" name="hiddensheshi" value=&q ...

  5. git用ssh方式下载代码

    1.运行Git Bash客户端,执行ls ~/.ssh; 如果列出下图这两个rsa文件,那应该就不需要配置ssh key了,如果不放心就将这几个文件删掉,重新生成. 文件的默认目录:C:\Users\ ...

  6. Fluent当中的通配符【翻译】

    本文翻译自fluent帮助手册 可以在TUI当中使用通配符指定特定区域的名称,一些例子如下: 通配符*等同于"所有区域"例如: -/display/boundary-grid * ...

  7. java中快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?

    一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加.删除.修改),则会抛出Concurrent Modification Exceptio ...

  8. css中的浮动与定位

    传送门:https://www.cnblogs.com/junwuyao/p/7435257.html

  9. OGC定义的几何要素

    OGC定义了两种描述几何对象的格式,分别是WKB(Well-Known Binary)和WKT(Well-Known Text). 在SQL语句中,用以下的方式可以使用WKT格式定义几何对象:几何类型 ...

  10. 【E2E】Intel AI DevCloud 的申请和登陆

    参考:https://www.cnblogs.com/WaitingForU/p/9091096.html 一.注册 https://www.cnblogs.com/WaitingForU/p/909 ...