-
当前版本 1.5
-
最后更新于 2023/12/15
这是个用来在 Windows 上便捷获取窗口句柄、查看窗口属性的轻量级工具,也可对窗口执行某些简单操作。支持的属性多于微软 Spy++,但目前还不能跟踪窗口消息。适合 Win32 开发者使用。
此软件的创作灵感来自一个颇具年代感的软件 Spy++ lite
,其支持的属性比微软 Spy++ 略多,比较实用,但仅有32位版本且不支持高DPI,在现今的电脑上有很大不便。本人参考其UI,用 VC++/MFC 独立编写了本软件,并完善了功能、添加了对高DPI的支持。
- 按住鼠标左键,拖动到某窗口上后松开左键即可获取该窗口句柄(及其属性)。
- 按下按钮后,在10s内将鼠标指针移动到某窗口上,即可获取其句柄(及其属性),适合一些会因为按下鼠标而消失的窗口,如菜单。注:此功能在“工具”页中。
- **常规:**窗口名(标题)、类名、窗口矩形、客户区矩形、控件ID、进程ID、线程ID、程序可执行文件存储路径。
- 窗口样式(基本样式、扩展样式)的样式名(宏名)及数值。
- 类样式的样式名(宏名)及数值。
- **相关窗口:**父窗口、所有者窗口、上一窗口、下一窗口、子窗口。
- 获取窗口截图并保存至文件。
- **状态:**可见性、可用性、编辑框只读、总在顶层、已最大化、已最小化。
- **字体:**LOGFONT 结构。注:此功能在“工具”页中。
- 修改上述“状态”属性。
- 杀窗口:
(1) 普通方式:发送 WM_CLOSE,类似用户点击标题栏“关闭”按钮。
(2) 强力方式1:设置其父窗口至一临时窗口,并关闭该临时窗口,从而使原窗口被系统关闭。适用于某些无法用普通方式关闭的窗口。详见源代码
ToolsPage.cpp
。 (3) 强力方式2:给窗口连续发送不同的、无意义的消息使其崩溃,即消息轰炸。性能开销大且不怎么实用。 - **发送窗口消息:**支持
SendMessage
(可获取目标窗口WindowProc
返回值) 和PostMessage
。 需要以十进制整数方式指定消息ID、wParam、lParam。 - **修改窗口位置(
SetWindowPos
):**可修改x, y, 宽, 高。 - 修改窗口标题。