找回密码  加入

AUTOIT CN

搜索
楼主: afan

[原创] Au3.WProbe 窗口信息探测器[160112更新0.6.5]

[复制链接]
发表于 2010-9-1 20:29:48 | 显示全部楼层
回复 90# yuanyannian


    这个兄弟,好无道理,刚刚注册,就来这里吆五喝六的,你以为自己是谁,要学会尊重别人吧。现在的人怎么都是这样没有水平啊?

评分

1

查看全部评分

发表于 2010-9-1 23:24:27 | 显示全部楼层
终于得到了新作。呵呵,afan超版辛苦了。我先去看看新的作品什么样?

评分

1

查看全部评分

发表于 2010-9-1 23:36:39 | 显示全部楼层
板凳!

還好沒逾期

趕在9/1發帖

支持在支持

评分

1

查看全部评分

发表于 2010-9-1 23:46:08 | 显示全部楼层
下载看来,不错,支持开发!!!!!!1

评分

1

查看全部评分

发表于 2010-9-2 01:18:00 | 显示全部楼层
老大真厉害辛苦了
发表于 2010-9-2 06:42:24 | 显示全部楼层
这个对我们还是很实用的
发表于 2010-9-2 06:45:14 | 显示全部楼层
不知是否我操作问题,在复制某些控件文本时,程序给多加了空行。我测试qqflash这个第一界面时,复制“欢迎使用 QQFlasher 安装向导”这句时发现的,造成写出的脚本有问题了。可能是他是非标准控件的原因吧,但用0.3来手动复制,则是没有这个问题的。我说的这个问题,在这个qqflash结束的最后一页,也是复制出来的控件文本,自动换行。qqflash程序在我提供的链接中下载。
http://www.autoitx.com/thread-18006-1-1.html
发表于 2010-9-2 06:57:01 | 显示全部楼层
此为反映上面问题的录像

http://www.ctdisk.com/file/377652
发表于 2010-9-2 09:02:55 | 显示全部楼层
更新真快哈,继续哈。。
 楼主| 发表于 2010-9-2 10:12:56 | 显示全部楼层
本帖最后由 afan 于 2010-9-2 10:31 编辑
不知是否我操作问题,在复制某些控件文本时,程序给多加了空行。我测试qqflash这个第一界面时,复制“欢迎使 ...
23070205 发表于 2010-9-2 06:45



    从你录像的后半段(0.3版)可以看出它的原始数据就是有断(空行)行的。也并非说它是非标控件,文本本来就是可以多行的,而你只需要其中的一部分而已。
   在本工具中,复制功能当然是复制此控件的全部文本,如果只复制一行那就没什么意义了~
解决的办法很简单,在你的自动工具中加一句对剪贴板的操作:
  1. $Clip = StringRegExpReplace($Clip, '(?s)\s*([^\r\n]+[^\s])\s*.*', '$1')
复制代码

即可。这行代码可以取到有字符的第一行。

示例:
  1. $Str = _
  2.                 '' & @CRLF & _
  3.                 '    从这里开始,我只要这一行      ' & @CRLF & _
  4.                 '' & @CRLF & _
  5.                 '这里还有很多字符' & @CRLF
  6. Msgbox(0, '原字符串', '"' & $str & '"')

  7. $str = StringRegExpReplace($str, '(?s)\s*([^\r\n]+[^\s])\s*.*', '$1')
  8. Msgbox(0, '取到的有效字符', '"' & $str & '"')
复制代码


需要注意的是,请不要将此行代码对标题进行处理,因为标题前面的空格是有效的,这一段会删除前面的空格等非字数据。
发表于 2010-9-2 10:14:35 | 显示全部楼层
老大更新到0.4.8版了?
发表于 2010-9-2 10:44:53 | 显示全部楼层
本帖最后由 23070205 于 2010-9-2 10:50 编辑

回复 100# afan


    又学到一招,感谢afan超版的指导。我更新下代码去


确实如你所说,这样去掉了后面的断开的语句。呵呵,佩服!
发表于 2010-9-2 11:28:43 | 显示全部楼层
现在这样配合0.48来说,简化了不少操作。感谢afan的付出。
不过还有2个疑问:
1,send发送热键与controlclick点击控件id,操作是一样的吧

2.现在0.48程序中的控件坐标还是不太了解,请afan超版示范下吧,用户坐标就是原来的界面坐标,屏幕坐标就是当前的在所在屏的坐标,那控件坐标,指的是点击的控件的相对位置吧,那么我们就要controlclick时不仅要写出控件id,而且还要写点击的此id的控件坐标位置是吧。

这样理解对不,我觉得这样也很强大,只是要点击的控件坐标还是要求准确些,与mouseclick有相同之处,如果点击不正确,就无法识别。
发表于 2010-9-2 11:41:10 | 显示全部楼层
呵呵.下载玩玩

评分

1

查看全部评分

 楼主| 发表于 2010-9-2 11:42:40 | 显示全部楼层
现在这样配合0.48来说,简化了不少操作。感谢afan的付出。
不过还有2个疑问:
1,send发送热键与controlc ...
23070205 发表于 2010-9-2 11:28



    你理解的完全正确。
举个简单的例子,比如说你要打开一个文件夹,或者桌面的某个快捷方式(当然这里不准使用Run或ShellExecute方式),如何操作,用 MouseClick 可以,不过,鼠标移过去了,影响用户其它工作。用 ControlClick 操作?那些图标并无具体控件 ID ,怎么点击?当然就要用到 ControlClick 后面的控件坐标参数了。
以下为双击桌面第一个图标的例子。用探测器得到桌面标题为“Program Manager”, 控件类名为“SysListView321”,控件坐标为“36, 31”:
  1. Sleep(2000)
  2. ControlClick ('Program Manager', '', 'SysListView321', 'left', 2, 36, 31)
复制代码


试下感觉~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2019-9-22 14:43 , Processed in 0.093750 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表