[已解决]如何实现一个static类的操作(关于一个搜狗拼音自动配置脚本的实现)
本帖最后由 nickwu 于 2010-7-17 22:40 编辑最近用autoit搞了个搜狗拼音的自动安装,autoit的强大让它实现起来易如反掌
不过好景不长,当我打算写一个搜狗拼音的自动配置程时,碰到了一个困难,如图
我想用autoit实现的是上图黑框中标签的切换
我用窗口信息工具看了一下,发现那是一个static类,并且所有按钮的枚举都是87
之后我尝试了很多办法来实现标签的切换,都不成功
如:WinActivate、ControlClick和ControlShow
请哪位高手帮忙看看,如何实现搜狗拼音配置界面里static控件的切换? ControlClick ( "标题", "文本", 控件ID [, 按钮 [, 点击次数 [, X坐标 [, Y坐标 ]]]] )
看看帮助文件
X坐标 [可选参数] 要点击控件的位置(X坐标). 默认为控件中心.
Y坐标 [可选参数] 要点击控件的位置(Y坐标). 默认为控件中心. ControlClick ( "标题", "文本", 控件ID [, 按钮 [, 点击次数 [, X坐标 [, Y坐标 ]]]] )
看看帮助文件
X坐 ...
lynfr8 发表于 2010-7-17 15:53 http://www.autoitx.com/images/common/back.gif
这个命令我试过,不过都没有成功,不知道是不是坐标没设对
有人尝试过编一个跟此类似的脚本的吗?借代码看看
或者还有人有更好的办法的吗?
{:face (52):} 实在不行就找图点击 实在不行就找图点击
lynfr8 发表于 2010-7-17 16:46 http://www.autoitx.com/images/common/back.gif
什么是“找图点击”
{:face (52):} 本帖最后由 lynfr8 于 2010-7-17 17:53 编辑
回复 5# nickwu
通俗一点讲就是:
你可以理解为你目前所看到屏幕是一张图
找图呢就是在这张图找到和设定的图片(比如你提问的-题库-你把这两个字截图下来)的屏幕坐标
既然找到坐标
无需识别控件(例如你提问的static类)就能点击所获取的坐标
这样就可以解决一些难识别或者难直接点击的控件的自动安装了
此乃自动安装最后的必杀技了!
一旦掌握什么自动安装都不在话下!
楼主自行研究吧。
所需UDF和DLL到此下载:(里面有经典的例子作为参考学习)
http://www.autoitx.com/thread-13677-1-1.html 这个命令我试过,不过都没有成功,不知道是不是坐标没设对
有人尝试过编一个跟此类似的脚本的吗?借代 ...
nickwu 发表于 2010-7-17 16:33 http://www.autoitx.com/images/common/back.gif
你检查一下自己的标题和控件名称(包括枚举)
还有坐标是否正确(分屏幕坐标和相对坐标)
正确的话应该是没问题的 拜谢楼上朋友的解答,我还会继续研究,成功之后将代码奉上,并做结贴处理 本帖最后由 nickwu 于 2010-7-17 22:35 编辑
代码我摸索了好久终于成功了,感谢"lynfr8"大牛的提示:找图点击,呵呵
附上源码,供其他网友参考,再次谢谢这里的热心网友,谢谢你的解答
{:face (327):}
ShellExecute("C:\Program Files\SogouInput\5.0.1.4185\config.exe")
sleep(800)
$pos = WinGetPos("搜狗拼音输入法设置")
If IsArray($pos) Then
$x=MouseGetPos(0)
$y=MouseGetPos(1)
WinActivate ("搜狗拼音输入法设置")
MouseClick ( "left",$pos+80,$pos+120,1,0)
ControlCommand("搜狗拼音输入法设置","切换英文状态时保留输入窗口中已经存在的字符并上屏","Button7","Check","")
ControlClick("搜狗拼音输入法设置","","Button89")
MouseClick ( "left",$pos+80,$pos+148,1,0)
ControlCommand("搜狗拼音输入法设置","开启皮肤推荐","","UnCheck","")
ControlClick("搜狗拼音输入法设置","","Button89")
MouseClick ( "left",$pos+80,$pos+236,1,0)
ControlCommand("搜狗拼音输入法设置","不自动升级","Button12","Check","")
ControlCommand("搜狗拼音输入法设置","P2P升级加速:使用P2P方法,使您的升级速度更稳定更快速","Button17","UnCheck","")
ControlClick("搜狗拼音输入法设置","","Button87")
MouseMove($x,$y)
EndIf
exit
貌似修改注册表或配置文件来的方便!
页:
[1]