82035935 发表于 2011-6-9 22:02:06

关于点击控件的问题

本帖最后由 82035935 于 2011-6-9 23:00 编辑

最近看到了个屏蔽弹窗的程序,觉得很实用,就想用AU3做个自动启动的脚本,但遇到了问题,$g_szVersion = "自动启动"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)

Run("屏蔽弹窗.exe")
WinwaitActive("提醒","本程序可能会使浏览器打不开,使用前请保存您的网页")
Send("{Enter}")

WinWaitActive("一键屏蔽弹窗广告")
ControlClick("一键屏蔽弹窗广告", "一键屏蔽弹窗广告", "","left","1","60","25")鼠标没法点击到控件 图片中的“一键屏蔽外挂广告”按钮,试了很多控件ID都不行,出现这样的情况应该用什么函数呢?求解~

502762378 发表于 2011-6-9 22:35:59

试试这个函数
_GUICtrlButton_SetCheck

annybaby 发表于 2011-6-9 22:58:23

上传软件是王道~~

82035935 发表于 2011-6-9 23:01:01

_GUICtrlButton_SetCheck 这个函数怎么用哦?百度一把没发现·

502762378 发表于 2011-6-9 23:16:29


#Include <GuiButton.au3>
$g_szVersion = "自动启动"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
Run("屏蔽弹窗.exe")
WinwaitActive("提醒","本程序可能会使浏览器打不开,使用前请保存您的网页")
Send("{Enter}")
WinWaitActive("一键屏蔽弹窗广告")
_GUICtrlButton_SetCheck("", 0x2)

82035935 发表于 2011-6-9 23:48:26

回复 5# 502762378

没有效果,执行到第七行 后面就没有效果了

xz00311 发表于 2011-6-10 00:42:13

你可以用论坛里面找一个可以获取到控件的软件

angelink 发表于 2011-6-10 07:42:38

回复 1# 82035935


这个软件是什么软件?有没有下载地址,是用什么编写的?

nwf2011 发表于 2011-6-10 08:34:51

_GUICtrlButton_SetCheck has no effect on push buttons.
AutoIt Help有解释的

happytc 发表于 2011-6-10 08:49:01

没有试过你说的程序,仅仅从你传的图片和你写的脚本来看:
ControlClick("一键屏蔽弹窗广告", "一键屏蔽弹窗广告", "","left","1","60","25")
第二个参数,你的图片是“外挂广告”;
最后两个参数,这个坐标值你是怎么得来的?

annybaby 发表于 2011-6-10 10:03:28

回复 1# 82035935


试了一下,的确有些麻烦,不过看了你自己的代码,幸好你并不介意前台点击,所以写了下面的,测试可行

$title= "一键屏蔽弹窗广告"
If WinExists($title) Then Exit
AutoItWinSetTitle($title)
Run("屏蔽弹窗.exe")
WinwaitActive("提醒","本程序可能会使浏览器打不开,使用前请保存您的网页")
Send("{Enter}")
$pos=WinGetPos($title)
WinSetOnTop($title,'',1)
WinActivate($title)
WinWaitActive($title)
MouseClick('left',$pos+70,$pos+160,1,1)

annybaby 发表于 2011-6-10 10:06:25

回复 9# nwf2011


    对,这个是设置单选按钮或复选框的选取状态,不是用来点击按钮的~{:face (396):}

502762378 发表于 2011-6-10 10:27:58

回复 1# 82035935


      丫,还真看错了, 还以为是要复选图中焦点的复选框,实在不好意思

82035935 发表于 2011-6-10 12:39:31

回复 11# annybaby

非常感谢啊,测试一下,完全没问题,呵呵,前台后台的无所谓,主要就是用来屏蔽网页广告的,恕小弟愚钝,最后一行代码理解不了,可以解释一下吗?谢谢了~

annybaby 发表于 2011-6-10 16:17:33

回复 14# 82035935


    呃,那句很简单吧,就是鼠标点击啊,看帮助

MouseClick('left',$pos+70,$pos+160,1,1)

你应该是$pos+70,$pos+160不明白吧?

$pos是由前面的wingetpos()函数返回的一个包含了窗体位置坐标的数组,$pos是X坐标,$pos是Y坐标,后面的两个数70和160是你想点击的位置相对于窗体左上角的坐标,你可以通过信息窗体工具获取你想要的坐标相关信息~~{:face (239):}
页: [1] 2
查看完整版本: 关于点击控件的问题