afan 发表于 2010-8-26 04:02:01

Au3.WProbe 窗口探测 1.0

本帖最后由 afan 于 2024-3-25 10:58 编辑





  这是一个探测窗口控件的小工具,类似于Au3自带的窗口信息工具Au3Info,加强了部分功能,比如可以检索窗口的全部控件及关系
   窗口,并可以主动显示其坐标等信息;可在全屏置顶的窗口用快捷键探测等。同时特别加强了易操作性。以下简单介绍下使用方法:

1,按住鼠标左键拖动靶心图标(或按Ctrl+F9)至目标窗口,随即会出现红色界标线包围整个窗口或某控件,在需要探测的窗口或控件上
   松开鼠标按键(或再按Ctrl+F9或Esc),本工具会显示窗口及控件的相关信息,如需比较详细的内容可点击“开详情”查看;

2,如果控件存在有效的控件文本,会在“控件类”下方显示深灰色的信息条,其上会显示控件文本的部分(或全部)字符;
   如果同时还存在快捷键的字符时,会在深灰色的信息条后面加显一个颜色稍浅的信息条,其上为键名;
   左键单击可分别复制这两项的字符串(注:快捷键键名前会自动加上“!”,方便使用Send之类函数)

3,在“控件”栏目处单击右键可在“控件”、“客户”、“屏幕”循环切换坐标方式;
   “控件”处的坐标为松开鼠标左键时的相对于控件范围的坐标,对于无具体ID的控件的仍可尝试使用此坐标进行 ControlClick 点击;
   “用户”处的坐标为松开鼠标左键时的相对于窗口客户区的坐标,使用此坐标方式时需先用 Opt('MouseCoordMode', 2)
   “屏幕”处的坐标为松开鼠标左键时的屏幕绝对坐标,如果之前更改过MouseCoordMode,使用此坐标时需 Opt('MouseCoordMode',1)

4,在下拉框中有控件的数量及相关信息,在控件类别名后面有“=1”或“=0”的字样,分别代表在当前的窗体中控件可见或不可见;
   在下拉框中选择某项即可在窗体中闪烁界标线,可见控件为蓝色,不可见控件为墨绿色。

5,左键点击各栏目(有数据时)可复制其内容到剪贴板,方便粘贴使用(按住鼠标可持续显示,方便查阅);
   在“窗口类”或“控件类”栏目上(有数据时)点击右键将复制该类的高级模式到剪贴板;

6,关系窗为当前探测的窗口与之同进程的关系窗口,对于窗体内嵌或外挂了子窗口都可以一览全景;
   如果探测到的为子窗口还会显示其父窗口句柄,当然父窗口也会在其关系窗中有详细信息;

7,本工具仅在32位 WinXP sp3 中进行过测试,不保证其它系统能正常使用,如有问题请反馈。








举个用 ControlClick 点击无具体控件ID的简单例子。比如说你要打开一个文件夹,或者桌面的某个快捷方式(当然这里不准使用Run或ShellExecute方式),如何操作?用 MouseClick 可以,不过,鼠标移过去了,影响用户其它工作,且需要在桌面可见的情况下。用 ControlClick 操作?那些图标并无具体控件 ID ,怎么点击?当然就要用到 ControlClick 后面的控件坐标参数了。
以下为双击桌面第一个图标的例子。用探测器得到桌面标题为“Program Manager”, 控件类名为“SysListView321”,控件坐标为“36, 31”:(注意,这里是XPsp3的探测结果,Win7可能不同;桌面第一个图标的坐标也可能不同)
Sleep(2000)
ControlClick ('Program Manager', '', 'SysListView321', 'left', 2, 36, 31)
结果就是,就算桌面不可见,仍可执行双击打开。

更新历史:

240315 更新 1.0 版
      [修正]对于.NET框架的窗体可能无法正确识别控件
      [修改]在使用热键而非拖动靶标操作时,光标也会随之切换为靶标/正常
      [新增]在窗口“控件坐标”栏目下方显示当前坐标的颜色及值,点击可复制

240313 更新 0.9 版
      [修改]窗口不再分割为两部分,意义不大,整合为一
      [修改]布局细微调整,并适配支持高DPI

240312 更新 0.8 版
      [修改]Input控件设为只读,防止误改
      [新增]详情窗底部增加输出信息,点击可显示可复制

240220 更新 0.7.1 版
      [修正]拖动靶标可能造成鼠标光标变小等异常问题

210309 更新 0.7 版
      [修改]程序标题右侧添加当前的热键(有时候系统热键多了容易忘……)
      [修改]使用热键捕获时,若出现闪烁框后3秒未移动鼠标则自动选定,适合捕获某些若按键或移动鼠标就消失或改变的情形
      [修改]右键点击“窗口类”以复制数据时,若标题文本非空,则复制时以循环切换 添加/不添加 标题文本
      [修改]对于短暂捕获后消失的窗口,复制控件信息时亦可,不会再提示“目标窗口已关闭,无法使用高级模式”

160112 更新 0.6.5 版
      [新增]为避免热键 Ctrl+F9 与系统或其它程序冲突,可自行创建配置文件“WPConfig.ini”, 在“Options”字段中添加“HK=^{F9}”,并修改为需要的热键
      [修改]界面因系统不同而相应的细微调整
      [修改]其它逻辑细微调整

130310 更新 0.6.4 版
      [修正]修正一处可能造成程序崩溃的问题

120311 更新 (0.6.3版)
      [修正]探测CMD窗口时,因数组错误造成程序退出。

100914 更新 (0.6.2版)
      [修正]目标窗口已关闭时,复制类高级模式时的数据参数为空的问题,现已改为关闭时提示无法使用高级模式;

100913 更新 (0.6.1版)
      [修改]重写部分探测代码,尽可能探测到的首显控件为可操作控件;
      [修改]优化了部分代码,使探测速度更快;
      [修正]探测某些悬浮窗可能显示的界标线位置有误;
      [修正]在非控件区(如标题栏)仍显示控件相关信息的问题;
      [修改]关系窗选择下拉框将默认选中(显示)当前的窗体(之前的版本均为显示“关系窗数量:x”);
      [增加]详情版面增加窗口的进程pid及程序路径信息栏(同时取消了重复信息“控件数量”栏目);

100908 更新 (0.5.5版)
      [修正]窗口类的高级模式去除接口参数;
      [修正]控件文本如果全部是空字符也会显示深灰色的信息条的问题;
      [修正]如果下拉选择的控件和上次选择的一样将不会显示线框的问题;
      [修改]控件选择下拉框将默认选中(显示)当前的控件(之前的版本均为显示“控件数量:x”);
      [增加]在“控件选择下拉框”下方增加Cxx Wxx 的文本信息,C后为控件数,W后为窗体数。

100907 更新 (0.5.2版)
      [修改]在“窗口类”或“控件类”栏目上(有数据时)点击右键将复制该类的高级模式到剪贴板;
      [增加]在“控件类”栏目下方位置增加了两个可点击复制的信息文本条,便于在关详情时也能进行相关操作。其作用如下:
           如果控件存在有效的控件文本,则会显示深灰色的信息条,其上会显示控件文本的部分(或全部)字符;
           如果同时还存在快捷键的字符时,会在深灰色的信息条后面加显一个颜色稍浅的信息条,其上为键名;
           左键单击可分别复制这两项的字符串(注:快捷键键名前会自动加上“!”,方便使用Send之类函数)
      [修改]以前版本在单击复制后会显示1秒的提示,考虑到查阅复制内容的人性化,将显示1秒的提示改为如下:
           在鼠标按键按下后会持续显示,直到鼠标按键弹起。(如果按下弹起间隔不足1秒将显示1秒)

100906 更新 (0.5版)
      [修正]窗口仅有一个控件时不会显示探测边框线及信息有误;
      [修改]控件数量下拉列表排序改为按控件的创建顺序排列;
      [修改]左键单击托盘图标显示/隐藏界面,右键单击显示菜单;
      [修改]关系窗下拉列表默认显示其关系窗数量;
      [增加]在“控件类”栏目上点击右键将复制首个有效的控件文本(如果有)行到剪贴板;

100901 更新 (0.4.8版)
      [修改]重新设计详情界面,方便点击复制及浏览;
      [修正]窗口无其它控件时(如TrayTip、ToolTip等窗口)不会显示探测边框线及信息有误;
      [修改]将坐标切换方式的“界面”2字改为“用户”,使坐标方式更直观,可在“控件”、“用户”、“屏幕”间切换;
      [增加]增加一个坐标切换方式“控件”,此方式对于无具体ID的控件的仍可尝试使用此坐标进行 ControlClick 点击;
      [增加]界面增加最小化到托盘及托盘图标的相关操作;
      [增加]增加捕获如下一些窗口信息:
           同进程窗口、父窗口;
           窗口文本、窗口隐藏文本;--已去除,没什么用,可以用控件文本取代;
           窗口样式、窗口扩展样式;
           控件样式、控件扩展样式、控件句柄;

100827 更新 (0.3版)
      [增加]增加热键及在置顶窗口中操作,不用拖移靶心,按 Ctrl+F9 可以直接探测,再按一次或按 Esc 可以停止。

100826 小更新(0.2版)
      [修正]探测后的窗口在关闭后选择下拉框会造成界面的问题现已修正。感谢 佐子 发现此Bug
      [修改]坐标栏默认改为“界面”即用户坐标,切换方式改为右键点击,左键点击为复制。
      [增加]增加窗口标题栏及边框线宽度信息。
           其它一些细微的调整

100826        初发布 0.1 版
**** Hidden Message *****

zcx880517 发表于 2010-8-26 07:59:12

哇,,AFAN也出这个。。支持下。

hnzzlzj 发表于 2010-8-26 08:01:03

好东西哦,收藏了!!

xjdjpbp 发表于 2010-8-26 08:26:40

回复 1# afan

介面看起來更精簡了

測試為止沒問題!

頂你一個

水木子 发表于 2010-8-26 09:16:00

前辈很少直接出程序的哦!不过不出则已,一出惊人哦!

anchie 发表于 2010-8-26 10:11:14

一直为这个问题苦恼了很久 源码呢? 希望放出源码

menfan1 发表于 2010-8-26 12:37:48

特殊控件能用吗?试试呵呵

afan 发表于 2010-8-26 14:11:39

哇,,AFAN也出这个。。支持下。
zcx880517 发表于 2010-8-26 07:59 http://www.autoitx.com/images/common/back.gif


    不知道论坛还有人出这个吗?没看到过哦~

回复afan
介面看起來更精簡了
測試為止沒問題!
...
xjdjpbp 发表于 2010-8-26 08:26 http://www.autoitx.com/images/common/back.gif

    感谢测试

前辈很少直接出程序的哦!不过不出则已,一出惊人哦!
水木子 发表于 2010-8-26 09:16 http://www.autoitx.com/images/common/back.gif

    小东东而已,呵呵

一直为这个问题苦恼了很久 源码呢? 希望放出源码
anchie 发表于 2010-8-26 10:11 http://www.autoitx.com/images/common/back.gif

    EXE文档而已,无源码。我的源码基本都放在提问交流区…

特殊控件能用吗?试试呵呵
menfan1 发表于 2010-8-26 12:37 http://www.autoitx.com/images/common/back.gif

    估计不行,呵呵~ 目前版本还在 0.1,以后能不能加强还不知道…

zcx880517 发表于 2010-8-26 14:57:39

回复 1# afan


    没其他人出吧,,早晨试了下。挺好用的。。
   能放出源码就更好了。。{:face (303):}

131738 发表于 2010-8-26 18:50:33

超版也发工具了,支持!!!!!!

afan 发表于 2010-8-26 18:53:31

超版也发工具了,支持!!!!!!
131738 发表于 2010-8-26 18:50 http://www.autoitx.com/images/common/back.gif


    刚看到前辈发过一个脚本辅助工具自动脚本,so 准备修改一下我这个工具,让我这个工具可以更方便的为前辈的工具搭配使用

131738 发表于 2010-8-26 18:56:27

刚看到前辈发过一个脚本辅助工具自动脚本,so 准备修改一下我这个工具,让我这个工具可以更方便的 ...
afan 发表于 2010-8-26 18:53 http://www.autoitx.com/images/common/back.gif

翘首以待。。。。。

131738 发表于 2010-8-26 20:16:16

32 位 Win 7 没问题。。。。

afan 发表于 2010-8-26 22:43:51

回复 13# 131738


    谢谢测试~
    顺便小更新一下,主要是看见前辈的复制比较麻烦,坐标栏默认改为“界面”即用户坐标,切换方式改为右键点击,左键点击为复制。

xjdjpbp 发表于 2010-8-26 23:04:28

RE: 窗口信息探测器[小更新]

回复 14# afan

開詳情後

拖曳時候,上面跟不上下面= =

呵呵

建議Afan超版

當要探測試窗時(即拖曳),可以先把窗口信息探測器隱藏或者不要一直窗口至頂。

個人覺得這樣比較好操控{:1_578:}
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: Au3.WProbe 窗口探测 1.0