找回密码
 加入
搜索
楼主: yztest

[AU3基础] 请教窗口信息工具无法获取QQ登录窗口的输入框怎么办?

 火.. [复制链接]
 楼主| 发表于 2016-1-16 12:26:14 | 显示全部楼层
回复 27# luren666


    是的,我也试过不同分辨率,结果与你的一样。

用窗口信息工具获得的信息和屏幕座标:
QQ7.3登录窗口:
标题:QQ
类名:TXGuiFoundation
坐标:712,305
大小:495,470

号码框坐标:1038,582  (后半部分)
密码框坐标:1038,612 (后半部分)

由此得到相对QQ窗口的座标
号:326,277
密:326,307
发表于 2016-1-16 12:31:25 | 显示全部楼层
有绝对坐标  看你找图的内容

如果你找的是登录按钮    登录按钮的位置是不变的

然后你登录按钮的坐标 加一下30  或者50  取决于你找的什么图

然后就是号码框了
 楼主| 发表于 2016-1-16 13:13:10 | 显示全部楼层
本帖最后由 yztest 于 2016-1-16 13:48 编辑

执行下面的代码后,打开QQ程序,出现了登录框,但是,有时也会出来一个QQEdit窗口
(QQEdit窗口好像就是密码框,因为在密码框输入内容这个窗口里也有,一样是看不见具体字符的,如下图),
不知为何会这样?程序代码中WinGetPos所获得的坐标却是这个窗口的坐标。
如果没有出现QQEdit窗口,鼠标确实能移到号码框,但不能击中号码框,也就是光标焦点不能进入号码框。
---
;号码框相对QQ窗口的坐标位置,密码框的Y坐标只要加30
Local Const $cx=326
Local Const $cy=278
Local $win, $size, $QPath
Local $x, $y

$QPath=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Tencent\PlatForm_Type_List\1","TypePath")         ;从注册表中获取QQ程序路径
$wins = "QQ"
Run($QPath)
WinWait($wins)
WinActivate($wins)
$size = WinGetPos($wins)
Sleep(500)
$x=$size[0] + $cx
$y=$size[1] + $cy
MouseClick("left", $x, $y, 3)
 楼主| 发表于 2016-1-16 13:28:08 | 显示全部楼层
图片不知为何显示不了,再试一次


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-1-16 14:01:23 | 显示全部楼层
#include <ImageSearchWithoutDLL.au3>
Global $x = 0
Global $y = 0
Global $w = 1366;@DesktopWidth
Global $h = 768;@DesktopHeight
Global $ColorTrans = ''
Global $mOnlyFirst = True
Global $imagePath = @ScriptDir & "\small.png"
$pos = myImageSearch_Desktop($imagePath, $x, $y, $w, $h, $ColorTrans, $mOnlyFirst)
If @error Then
        Sleep(300)
Else
        ;MsgBox(0, $pos[0],$pos[1])
        MouseClick("left", $pos[0] + 58, $pos[1], 2)
EndIf
具体的自己调整吧
发表于 2016-1-16 14:12:01 | 显示全部楼层
哎………………………………………………

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-1-16 14:14:40 | 显示全部楼层
回复 34# yztest


    找图可以判断各种情况 比如需要输入验证码

或者密码不对  等情况
 楼主| 发表于 2016-1-16 17:16:08 | 显示全部楼层
本帖最后由 yztest 于 2016-1-16 17:18 编辑

回复 35# xin266

谢谢您上传的找图的源代码ImageSearchWithoutDLL.au3。

按你给的代码做的,还是报错,不知何原因,请帮看看,谢谢!
---


如果去掉那两行$str的赋值语句(第25,34行),好像就没有出现上面的那个报错,但@error的值都是2

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-1-16 18:33:36 | 显示全部楼层
回复 38# yztest


    不知道你咋写的这么高级

看不懂

你可以单独测试 点击这段代码

然后再加进去
发表于 2016-1-16 18:34:24 | 显示全部楼层
回复 39# xin266


    实际上只用找到号码这个地方就行了

然后按tab 就行了


先点号码 tab就不会出错
 楼主| 发表于 2016-1-16 22:29:33 | 显示全部楼层
回复 35# xin266


    在QQ登录窗口内截了一个小图取名small.png,
然后在你的这段代码最后的第16行加上一句:MsgBox(0, "",@error),
最后执行的结果:@error的值为2,根本执行不到 MouseClick

你自己试试
发表于 2016-1-17 10:11:23 | 显示全部楼层
回复 41# yztest


    截图不要太大
发表于 2016-1-17 10:11:45 | 显示全部楼层
回复 41# yztest


    截图不要太大

我自己写的程序都用好几天了

有啥试试的?
发表于 2016-1-17 10:13:59 | 显示全部楼层
[img][/img]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-1-17 10:14:54 | 显示全部楼层
回复 41# yztest


    估计是你截图太大还是啥 找不到图

肯定就是2
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 02:47 , Processed in 1.742182 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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