Mirror v0.1 Preview 发布 —— Windows开发辅助工具

由于前段时间经常在各种奇奇怪怪的窗口相关的问题上纠缠着,而spy++的功能又总是不那么尽如人意,所以就在业余的时间,写了这么一个非常简单的小工具,能查看和修改窗口的一些信息,方便测试窗口,避免每实验一下,都要重新编译工程带来的痛苦。

1. 下载地址

Mirror v0.1 Preview (0.1.21.101)

2. 基本信息

Mirror的目标是成为一个足够绿色,对开发人员足够友好的观察窗口的行为的小工具。现在的Mirror还很简单,只有两个主要功能:窗口操作和热键管理,希望他以后会慢慢强大起来。但是Mirror是一个单纯的孩子,它并不想成为Spy++,所以暂时不会添加关于Hook窗口消息的功能。

软件主要包含如下文件:

  • mirror.exe:软件主程序
  • mirror.ini:软件配置文件,在软件第一次启动时会自动生成在exe所在目录下。

本来打算将配置文件生成在appdata目录下,但是这个软件本来只是一个很小的工具,实在没有必要。

如果有兴趣的,也可以点击下面的捐赠页面,让作者每天都能吃上好吃的鸡蛋灌饼,帮我增加继续下去的动力。
捐赠页面:https://me.alipay.com/bigasp

3. 关于开源和反馈

代码写的实在难看,这里就不把源代码开出来了,里面其实就是调用了一些窗口相关的Api而已。欢迎各位大大指点小弟,让我更好的完善这个小软件。

Mirror将永远免费,所以就请大家不要随意修改它了,如果有任何建议,可以随时向作者留言,或邮件反馈,或者在mirror项目中新建issue,我会尽快修正~

4. 主要功能

软件现在主要包括两个功能:窗口操作和热键管理。

4.1. 窗口操作

  • 查看/修改窗口基本信息
  • 查看窗口所在的线程信息
  • 查看/高亮显示/设置前景窗口,焦点窗口,激活窗口
  • 查看窗口类信息
  • 查看/修改窗口Prop
  • 发送窗口消息,并提供一些常用的窗口相关的Api调用
  • 模拟鼠标,键盘输入
  • 查看/修改DWM信息,可以自己设置几乎所有的窗口DWM的属性

4.2. 热键管理

  • 基本上面提到的所有的功能,都可以对其设置热键,甚至包括切换软件中的Tab
  • 应用设置之后,新的热键会被自动保存在mirror.ini配置文件中。

5. 软件截图

主界面,外加可以各种过滤的窗口树,支持自动刷新,方便调试Z-Order相关的问题
mirror-main

窗口信息,可以看也可以改。注意左上角的猫咪,哪里想看,点哪里~妈妈再也不用担心窗口问题了~
mirror-window-info

窗口高亮,焦点焦点你在哪里?
mirror-window-highlight

窗口操作,发送消息,到底是什么消息让我欢喜让我忧~
mirror-window-op

热键设置,选择窗口时,不变化前景窗口,菜单窗口也能看
mirror-hotkey

6. 后期的计划

  1. 优化软件界面,支持界面更改布局,缩小软件的窗口大小
  2. 支持自动元素重排,进一步缩小软件窗口大小
  3. 添加独立的追踪模式,还是为了缩小软件的窗口大小,尽可能避免对调试的打扰
  4. 弄一个英文版啥的,主要是担心一些专有名词翻译不正确,从而误导开发人员
  5. 等等等等…

更多的计划和进度,可以关注项目的issues:https://bitbucket.org/bigasp/mirror/issues?status=new&status=open