向一个激活窗口发送命令
比如qq登录界面 如何发送一个指令让它执行 登录 按钮 我不想用鼠标模拟点击ControlClick ( "qq2012", "登录", 658084 "left", 1 )
这样写 不可以啊。改如何实现呢 这个问题困扰我2天了 什么意思啊,越来越看不懂论坛的一些提问帖了。没有标点符号,真的令人费解呵。
是“不想用鼠标模拟点击”这个意思吗?可controlclick()就是模拟鼠标点击的一个函数呀。还是不想用controlclick()来模拟点击?因为语句执行不了?语句执行不了,没考虑语句有问题吗?应该去搞懂它啊。基本的一些模拟点击函数不用,去用更高级可能也更复杂更难理解的函数,恐怕难以为继啊。
如是第2层意思,那么看看帮助,或在论坛搜索,再多试试,应该能找到问题的答案。实在不行,再来提问吧。相信那时你的提问,一定会得到更多一些人来给你回答。 是不是ID会变的 他这个窗体里控件都找不到几个,你怎么控制,还是安心的用模拟吧,看看有没有高手来解围 QQ界面是非标准控件~ 不希望基于鼠标模拟点击是基于什么考虑?设计得好的话也是可以保证可靠性的 试了一下,只会用mouseclick模拟点击操作,静待高手用控件操作。 想要的效果就是比如:qq登陆界面 如何从后台发送一个登陆的指令 让脚本执行点击“登陆”按钮“ 不想用鼠标的模拟点击来操作 想用后台内存的功能来实现。 本帖最后由 shqf 于 2013-4-19 10:32 编辑
楼上的朋友,“让脚本执行点击‘登陆’按钮”与“不想用鼠标的模拟点击来操作”,两种表述还是有矛盾呵。不过能大概理解你的意思了。你不是想用脚本模拟点击来完成登录,而是想用脚本直接完成QQ登录功能来进行后台登录。但这样就和controlclick()等函数没有关系了,因为controlclick()等是用来模拟鼠标点击的。
这里有个问题,如果是网页登录,如一些网站、论坛类等,要么是GET方式提交,要么是POST方式提交,都因遵循http协议,可以用脚本来发送符合http协议的请求,及接收相应的响应数据,而完成后台的直接登录。如是第三方程序,因无法知道其请求的数据格式,甚至接收请求的服务器IP地址或端口,而无法后台直接登录。只能用模拟鼠标点击“登录”按钮的方法来完成登录。
不过腾讯QQ也有网页界面可以登录,你可以一试后台登录。 回复 8# shqf
就拿qq登陆界面来说 我想在后台完成直接输入账号密码 并且登陆 这3个操作。登陆的那个操作 au3没办法实现后台么 只能鼠标模拟来操作么? 本帖最后由 32714107 于 2013-4-19 16:47 编辑
不用mouseclick,用tab键也可以做到,但总感觉成功登录的可能性不是太高,而且方法也不好Run("C:\Program Files\Tencent\QQ\QQProtect\Bin\QQProtect.exe")
;WinWait("qq2013") 非标准控件,加这个命令的话就要永远等下去了
Sleep(10000)
Send("{Tab 12}")
Send("qq号")
Sleep(500)
Send("{Tab}")
Send("密码")
Send("{Tab 9}")
Sleep(3000)
Send("{Enter}")。先上代码,望高手指点 如果要模擬動作,個人習慣是每個動作後面都加上sleep
寧可讓每個動作慢點,但也要他確實做到。 用相对坐标方式,WinGetPos获取QQ窗体左上角坐标,然后尝试得出输入框和按钮相对于窗体左上角的位置坐标,两者相加(窗体左上角坐标+控件相对坐标)得到绝对坐标。用ControlSetText填入内容,其中控件ID使用坐标方式。用ControlClick点击登录按钮,同样控件ID使用坐标方式。
从网上找到这种方法,应该也可以的!请楼主试试吧 本帖最后由 烟雨 于 2013-4-19 22:13 编辑
假如的格式,不一定准
ControlSend("", "QQ2013", "", "!u")
ControlCommand("", "QQ2013", "", "EditPaste", $TRIAL_username)
ControlSend("", "QQ2013", "", "{Tab}")
ControlCommand("", "QQ2013", "", "EditPaste", $TRIAL_password)
ControlClick("", "QQ2013", "", "left") 使用 按钮的 ID 咯(具体的看下帮助,论坛里找下“神仙作品”这个)
如果不行的话 就可能是老马做了手脚 回复 10# 32714107
估计不行
页:
[1]