mamop 发表于 2009-10-6 15:38:53

请教关于mouseclick问题

$QQkey="HKEY_LOCAL_MACHINE\SOFTWARE\TENCENT\QQ2009"
$QQpath=RegRead($QQkey,"Install")
Run($QQpath&"\bin\QQ.exe")
WinWait("QQ2009")
WinWaitActive("QQ2009")
$XY=wingetpos("QQ2009")
mouseclick("left",$XY+215,$XY+123) ;这里$XY+215,$XY+123,但是用窗口信息
;工具查看到的不是这个值啊.
Send("QQ号码",1)
mouseclick("left",$XY+230,$XY+154)
Send("{BS 18}")
Send("密码",1)
mouseclick("left",$XY+75,$XY+190)
Send("{down 1}")
Send("{enter}")
mouseclick("left",$XY+230,$XY+154)
Send("{enter}")

水木子 发表于 2009-10-6 15:45:05

本帖最后由 水木子 于 2009-10-6 15:46 编辑

没必要这样! 直接 ControlSend 更好!

你这样鼠标操作,效率低不说,还丑得很。

水木子 发表于 2009-10-6 15:48:28

本帖最后由 水木子 于 2009-10-6 16:02 编辑

这样是不是要好很多呢?#NoTrayIcon
$QQkey="HKEY_LOCAL_MACHINE\SOFTWARE\TENCENT\QQ2009"
$QQpath=RegRead($QQkey,"Install")
Run($QQpath&"\bin\QQ.exe")
WinWaitActive("QQ2009")
ControlSend("QQ2009","","ATL:30A334701","账号",1)
Sleep(500)
ControlSend("QQ2009","","Edit1","密码",1)
Sleep(500)
ControlSend("QQ2009","","Edit1","{Enter}",0)

水木子 发表于 2009-10-6 15:51:36

本帖最后由 水木子 于 2009-10-6 16:02 编辑

QQ登陆器?还可以对登录窗口标题或句柄做判断,兼容性更好!

mamop 发表于 2009-10-6 16:10:09

哦,我只是想知道有没有办法,让这个坐标获取的更准确一些.

水木子 发表于 2009-10-6 16:18:18

5# mamop
呵呵!我的方法试过了吗?
如果只是关于QQ登录的问题,我还是建议不用鼠标点击.
还有就是Send("QQ号码",1) 这样实在不好,比如当马上执行这一步的时候(Send("QQ号码",1) ),激活一个记事本你觉得会发生什么情况?知道我说的什么吗?

mamop 发表于 2009-10-6 16:33:51

你看一下我的另一个脚本,你就明白我的意思了

mamop 发表于 2009-10-6 16:34:04

http://www.autoitx.com/forum.php?mod=viewthread&tid=10195

水木子 发表于 2009-10-6 16:48:17

天啦!你这样写出来的脚步估计只能在你自己电脑上运行吧?

mamop 发表于 2009-10-6 17:29:49

我在不同的电脑下都可以正常运行,800*600 1024*768 1440*900 1660*900 1920*1080分辨率下的电脑全部测试通过。
你可以在你的电脑上运行一下试试。

mamop 发表于 2009-10-6 17:30:22

我是电脑公司的,一天为客户安装几台电脑,都可以正常运行。

ZEROBOYS 发表于 2009-10-9 05:02:15

-.-
Opt("MouseCoordMode", 2) 試試看?
倒是好奇...你的寫法,能過各種解析度...
確實有點神奇,理論上會座偏啊

wisly 发表于 2009-10-9 11:29:44

建议使用ControlSetText和ControlClick
页: [1]
查看完整版本: 请教关于mouseclick问题