cs8901 发表于 2015-1-30 12:34:55

请教个问题,Send("{DOWN9}") 没作用

小弟刚学au3,对这教程,然后想自己写一个简单的该修MAC的,一开始把Send("{DOWN9}")写进去按F5是可以运行的,但是再运行就不行了,请大神指点一下Run("control.exe netconnections")
WinWaitActive("网络连接","")
WinActivate("网络连接","")
Send("{SPACE}")
Send("!{ENTER}")
WinWaitActive("本地连接 属性","")
WinActivate("本地连接 属性","")
ControlClick("本地连接 属性","","Button1")
WinWaitActive("Realtek PCIe GBE Family Controller 属性","")
WinActivate("Realtek PCIe GBE Family Controller 属性","")
Send('^{TAB}')
WinWaitActive("Realtek PCIe GBE Family Controller","高级")
WinActivate("Realtek PCIe GBE Family Controller","高级")
Send("{DOWN9}")


zhouhaijin 发表于 2015-1-30 12:38:19

Send("{DOWN 9}")

zhouhaijin 发表于 2015-1-30 12:38:49

少了个空格

cs8901 发表于 2015-1-30 12:56:11

回复 3# zhouhaijin

果然是,哈哈,这么低级的错误,我都没留意到,多谢多谢,另外想问一下那个控件ID是啥意思,如图这个控件ID就是1?,我是新手,看教程很多不懂的,不胜赐教

zhouhaijin 发表于 2015-1-30 13:05:39

没关系,有不懂就问问,谁都是新手开始的。
ID的详细解释吗?ID已经很明了了。就是ID。
ControlClick("本地连接 属性","","Button1")   ;这里的Button1可以填ID,注意ID不能用""号

zhouhaijin 发表于 2015-1-30 13:08:38

例如 发送一些文本到记事本窗口

ControlSend("无标题 - 记事本", "", "", "This is some text")

或者

ControlSend("无标题 - 记事本", "", "", "This is some text")

或者

ControlSend("无标题 - 记事本", "", "Edit1", "This is some text")

zhouhaijin 发表于 2015-1-30 13:08:43

例如 点击 "我的窗口" 中控件ID为254的控件

ControlClick("我的窗口", "", "")

或者

ControlClick("我的窗口", "", 254)

cs8901 发表于 2015-1-30 13:19:02

回复 5# zhouhaijin
谢谢大哥,原来是这样
我一开始还以为是上面图片的那个ID数字1
“”的意思是不是省略或者是默认的意思,跟’ ‘是一样的吧,看有的教程是用两个双引号,有的是用一个双引号。
另外那个WinWaitActive("Realtek PCIe GBE Family Controller 属性","")
WinActivate("Realtek PCIe GBE Family Controller 属性","")里面的窗口标题和窗口文本,比如我Send('^{TAB}')
WinWaitActive("Realtek PCIe GBE Family Controller","高级")
WinActivate("Realtek PCIe GBE Family Controller","高级")实际上两个窗口是一样的,只不过输入TAB到高级这个选项卡了,winwaitactive和winactivate里面的窗口文本需不需要另外写比如我上面我写的是高级

zhouhaijin 发表于 2015-1-30 13:24:27

" "跟' '是一样的,就是有时候要输出“就可以用‘“’

zhouhaijin 发表于 2015-1-30 13:24:37

窗口文本我都没留意,我从来都是用""的,可选参数就是可填可不填

zhouhaijin 发表于 2015-1-30 13:29:43

WinWaitActive("Realtek PCIe GBE Family Controller 属性") 基本不需要另外写

cs8901 发表于 2015-1-30 13:31:42

回复 6# zhouhaijin
能不能这么理解,这个命令的参数都包含三个基本的参数,比如
ControlSend("无标题 - 记事本", "", "", "This is some text")
基本参数要有标题,窗口文本,(为什么你的窗口文本用“”来代替,是不是说如果是不重要或者重复的话就可以用省略不写用“”来代替就可以了)和其他参数,这个发送这个就要包含位置和内容

zhouhaijin 发表于 2015-1-30 13:43:17

回复 12# cs8901


参数我们说他不重要也不对,窗口文本只是用到的比较少,窗口文本在窗口标题有多个相同下来再细进行筛选,我没用过。基本根据窗口标题就可以确定哪个窗口。

cs8901 发表于 2015-1-30 13:48:43

我再请教一个问题Run("control.exe netconnections")
WinWaitActive("网络连接","")
WinActivate("网络连接","")
Send("{SPACE}")
Send("!{ENTER}")
WinWaitActive("本地连接 属性","")
WinActivate("本地连接 属性","")
ControlClick("本地连接 属性","","Button1")
WinWaitActive("Realtek PCIe GBE Family Controller 属性","")
WinActivate("Realtek PCIe GBE Family Controller 属性","")
Send('^{TAB}')
WinWaitActive("Realtek PCIe GBE Family Controller","高级")
WinActivate("Realtek PCIe GBE Family Controller","高级")
Send('{DOWN 9}')
ControlClick("本地连接 属性","","Button1")
它没选中图片中的旁边的圆圈就停了,是不是Send('{DOWN 9}')之后还要WinWaitActiveWinActivate之类的再ControlClick("本地连接 属性","","Button1"),试了好多方法都不行,我本想ControlClick("本地连接 属性","","Button1")之后再Send('!V')的,然后发送粘贴板的内容到窗口

zhouhaijin 发表于 2015-1-30 13:52:17

你应该是Send('{DOWN 9}')的时候停在了中间还没到9次后那是吧,应该是send down 9的速度太快了他反应不过来
页: [1] 2 3
查看完整版本: 请教个问题,Send("{DOWN9}") 没作用