Microsoft SPY++ 使用教程及实操

Spy++介绍

Spy++ (SPYXX.EXE) 是一个基于 Win32 的实用工具,提供系统进程、线程、窗口和窗口消息的图形视图。

Spy++ 有两个版本

第一个版本,名为 Spy++ (spyxx.exe),用于显示发送到在 32 位进程中运行的窗口的消息。 例如,在 32 位进程中运行的 Visual Studio。 因此,可以使用 Spy++ 来显示发送到“解决方案资源管理器” 中的消息。 由于 Visual Studio 中大多数生成的默认配置都是在 32 位进程中运行的,因此如果已安装所需组件,则第一个版本的 Spy++ 就是在 Visual Studio 中的“工具”菜单上可用的那一个。

第二个版本,名为 Spy++(64 位)(spyxx_amd64.exe),用于显示发送到在 64 位进程中运行的窗口的消息。 例如,在 64 位操作系统上,记事本在 64 位进程中运行。 因此,可以使用 Spy++(64 位)来显示发送到记事本的消息。

如果要监控的程序是64位的就用spyxx_amd64.exe,32位的就用spyxx.exe

注意:spyxx.exe无法监控64位程序的消息日志,spyxx_amd64.exe也无法监控32位程序的消息日志。

工具如何获取呢?

如果你已经安装了Visual Studio,那么可以在…\Visual Studio 安装文件夹\Common7\Tools下找到该工具。

没有安装Visual Studio,只想要独立的Spy++工具,点击下载:https://download.csdn.net/download/huang1600301017/89213010。

实操

实操1:消息监控

运行spyxx_amd64.exe 点击监视-消息日志,快捷键(ctrl+m)。使用查找程序工具,鼠标按住这个图标,拖动到要监控的窗口,这里是记事本。松开鼠标后,选定的对象里显示相关参数。选项卡点击 消息,选择要查看的消息。这里点击全部清除,消息组里点击键盘,然后点击确认,现在在记事本里用键盘输入,就能看到消息日志了。右键-记录选项,可以重新选择要监控的选项。

实操2:查找父窗口或子窗口

spyxx_amd64.exe打开后默认显示所有运行的窗口,点击工具栏中查找窗口工具(ctrl+f),也可以通过(搜索->查找窗口->查找程序工具)。同样方法定位窗口,点击确定,同步,关闭,现在主界面中已经定位到了该窗口的位置,可以看到其父窗口和子窗口。因为有时我们通过鼠标定位到窗口是子窗口,可能无法监控到全部消息,所以要找到它的根窗口,直接监控根窗口。鼠标点击要监控的根窗口,然后按下ctrl+m打开日志消息,选择要监控的选项后确认。
                        

实操3:

windows通信,我们通常需要获取窗口的类名,怎么获取呢?通过查找程序工具(ctrl+f),拖动查找程序工具到指定窗口,界面上就会显示该窗口的信息,包括类名

消息通信

WM_CLOSE

用于通知窗口关闭的请求。当系统或者应用程序需要关闭某个窗口时,会向该窗口发送 WM_CLOSE 消息,让窗口做出相应的关闭操作。通常情况下,接收到 WM_CLOSE 消息的窗口会执行关闭操作,例如释放资源、保存数据等,然后关闭自身。

WM_COMMAND

通常用于向窗口发送命令消息。在 Windows 应用程序中,用户交互通常通过用户界面元素(例如按钮、菜单项等)来触发各种操作。当用户点击按钮或选择菜单项时,窗口会收到 WM_COMMAND 消息,以便执行相应的操作。WM_COMMAND 消息携带着一些参数,其中包括标识用户动作的命令 ID,以及用于标识发送命令的控件或菜单的句柄。

wParam参数:该参数的低位字节指示了事件源的标识符,即命令 ID(Command ID),它标识了发送命令的控件或菜单项。高位字节通常为零。

lParam参数:该参数是一个指向控件或菜单项的窗口句柄(HWND)的指针。如果消息是由一个菜单项发送的,则 LPARAM 参数是 NULL。

因此,当接收到 WM_COMMAND 消息时,你可以通过解析 WPARAM 和 LPARAM 参数来确定事件源的命令 ID 和控件句柄,从而执行相应的操作。

#include <windows.h>
#include <stdio.h>
int main()
{// 根据窗口类名"Notepad" 找到记事本窗口的句柄HWND hwndNotepad = FindWindow("Notepad", NULL);if (hwndNotepad == NULL){printf("记事本窗口未找到\n");return 1;}// 发送保存内容消息 后面2个参数就是spy++日志消息中的 wParam 和 lParamSendMessage(hwndNotepad, WM_COMMAND, 0x00000003, 0);// 发送关闭窗口消息SendMessage(hwndNotepad, WM_CLOSE, 0, 0);puts("The End!");return 0;
}
//此代码来源于网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/644228.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每日一题】2385. 感染二叉树需要的总时间-2024.4.24

题目&#xff1a; 2385. 感染二叉树需要的总时间 给你一棵二叉树的根节点 root &#xff0c;二叉树中节点的值 互不相同 。另给你一个整数 start 。在第 0 分钟&#xff0c;感染 将会从值为 start 的节点开始爆发。 每分钟&#xff0c;如果节点满足以下全部条件&#xff0c;…

基于springboot实现保密信息学科平台系统项目【项目源码+论文说明】

基于SpringBoot实现保信息学科平台系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了基于保密信息学科平台系统的开发全过程。通过分析基于保密信息学科平台系统管理的不足&#xff0c;创建了一个计算机…

C#带引导窗体的窗体设计方法:创建特殊窗体

目录 1.设计操作流程 2.实例 &#xff08;1&#xff09;Resources.Designer.cs &#xff08;2&#xff09;Frm_Main.Designer.cs &#xff08;3&#xff09;Frm_Main.cs &#xff08;4&#xff09;Frm_Start.Designer.cs &#xff08;5&#xff09;Frm_Start.cs &#…

【office安装错误1402或1406】

office安装错误1402或1406 错误如图 解决方法 打开autoremove&#xff0c;点击扩展&#xff0c;输入1402&#xff0c;点击搜索 等待修复成功&#xff0c;再尝试安装office 软件每周六选择其他登录方式可以免费使用

PHP之内置web服务器

1. 前言 PHP从5.4开始&#xff0c;就提供了一个内置的web服务器。 这个主要是用来做本地的开发测试用的&#xff0c;不能用于线上环境。 将PHP的安装路径配置到电脑的系统环境变量Path中&#xff0c;下图是win7&#xff0c;win10中会看的更清楚 2. 进入项目目录&#xff0c;执…

海康Visionmaster-常见问题排查方法-启动失数

问题2&#xff1a;VM无法启动&#xff0c;报错&#xff1a;参数错误&#xff1b;  问题原因&#xff1a;客户电脑环境异常导致代理启动失败。  解决方法&#xff1a;安装运行时库&#xff0c;并测试代理能否正常启动,步骤如下&#xff1a; ① 尝试双击代理进程&#xff…

ubuntu没有fcitx输入法图标

前言 Ubuntu20.04&#xff0c;卸载了ibus输入法&#xff0c;安装的fcitx搜狗输入法&#xff0c;出现无法切换到英文输入下&#xff0c;进行了重新启动&#xff0c;发现输入法图标不见了 可以尝试手动启动fcitx&#xff1a; 打开终端&#xff0c;运行以下命令&#xff1a; f…

Android Studio XML 预览View 底部移动到右边

以前 XML 的预览都是在右边的&#xff0c;最近不知道为什么突然到下面去了&#xff0c;很不习惯 找半天想把 预览view 移动到右边&#xff0c;一直没找到按钮。 误打误撞移回来了&#xff0c;原来只要再点击一次 split&#xff0c;就可以变动位置了&#xff0c;记录一下。

docker容器技术篇:集群管理实战mesos+zookeeper+marathon(二)

docker集群管理实战mesoszookeepermarathon&#xff08;二&#xff09; 一 实验环境 操作系统&#xff1a;centos7.9 二 基础环境配置以及安装mesos 安装过程请点击下面的链接查看&#xff1a; 容器集群管理实战mesoszookeepermarathon&#xff08;一&#xff09; 三 安装…

3个比较不错的Linux云音乐应用程序整理

在现代音乐流媒体时代&#xff0c;基于云的音乐应用程序因其便利性和可访问性而变得非常流行。Linux 用户尤其寻求可靠且功能丰富的音乐播放器来无缝地享受他们喜爱的音乐。 在这里&#xff0c;我们探讨了三个最好的基于云的音乐应用程序&#xff0c;每个应用程序都提供专为 L…

使用 IPAM 解决方案简化分布式网络管理

随着组织在数字领域的全球扩张&#xff0c;分布式网络是不可避免的&#xff0c;这意味着&#xff0c;随着 IT 基础设施的发展&#xff0c;组织需要适应&#xff0c;这包括在不断增长的系统需求、应用程序堆栈、各种协议和安全防御中监控、现代化和简化流程和资源。在有效管理现…

基于Flask+Echarts的中药材价格分析与可视化项目

&#x1f388; 博主&#xff1a;一只程序猿子 &#x1f388; 博客主页&#xff1a;一只程序猿子 博客主页 &#x1f388; 个人介绍&#xff1a;爱好(bushi)编程&#xff01; &#x1f388; 创作不易&#xff1a;喜欢的话麻烦您点个&#x1f44d;和⭐&#xff01; &#x1f388;…