普通自动安装脚本只须要如下四个命令
使用方法均为 命令(“标题”,“可见文字”)
Run 运行程序
WinWait 等待某个窗口出现
ControlClick 向控件发送鼠标点击命令
Send 发送按键信息,!代表Alt键^代表Ctrl
自动安装QQ实例如下(需要和QQ安装文件放置再同一个目录):
Run(“QQ.exe”)
WinWait(“腾讯QQ安装向导”,“阅读并同意”)
ControlClick(“腾讯QQ安装向导”,“阅读并同意”,“Button4”)
ControlClick(“腾讯QQ安装向导”,“阅读并同意”,“Button3”)
WinWait(“腾讯QQ安装向导”,“完成安装”)
ControlClick(“腾讯QQ安装向导”,“完成安装”,“Button8”)
\上面的Button需要使用 AutoIt的finder Tool工具识别
自动登录QQ实例:
Run(“C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe”)
WinWait(“QQ”)
KaTeX parse error: Expected 'EOF', got '#' at position 29: …etHandle("QQ") #̲MsgBox(0,"句柄是",handle)
Sleep(5000)
$size = WinGetPos(“QQ”)
#MsgBox(0, “当前激活窗口的状态(x,y,宽度,高度):”, $size[0] & " " & $size[1] & " " & $size[2] & " " & $size[3])
MouseClick(“left”, $size[0]+200, $size[1]+250, 1)
send(“QQ号”)
send("{TAB}")
Sleep(2000)
send(“QQ密码”)
Sleep(2000)
MouseClick(“left”, $size[0]+200, $size[1]+360, 1)
Sleep(10000)
WinKill(“QQ”)
注意
关于使用 Send 函数的更多说明/技巧请查看 附录。AutoIt 可发送所有的 ASCII 码及扩展 ASCII 码字符(0-255),若要发送 UNICODE 编码的字符则必须使用“ASC”选项加上您要发送的字符代码(见下面的 {ASC})。
“Send” 命令的语法跟 ScriptIt 以及 Visual Basic 的 “SendKeys” 命令类似。字符序列将按原文发送,但下列字符除外:
‘!’
表示告知 AutoIt 要发送一个 ALT 键击动作,因此语句 Send(“This is text!a”) 的意思是按序发送按键 “This is text” 然后在按下"ALT+a"。
注意,有些程序对大小写字符和 ALT 键相当挑剔,举例来说,"!A" 可能会被认为不同于 “!a”;第一个代表 ALT+SHIFT+A,而第二个则代表 ALT+a。如果拿不准的话最好使用小写!
‘+’
表示告知 AutoIt 要发送一个 SHIFT 键击动作,因此语句 Send(“Hell+o”) 的意思是按序发送按键 “HellO”。Send("!+a") 表示发送 “ALT+SHIFT+a”。
‘^’
表示告知 AutoIt 要发送一个 CONTROL 键击动作,因此语句 Send("^!a") 的意思是发送按键 “CTRL+ALT+a”。
注意,有些程序对大小写字符和 CTRL 键相当挑剔,举例来说,"^A" 可能会被认为不同于 “^a”;第一个代表 CTRL+SHIFT+A,而第二个则代表 CTRL+a. 如果拿不准的话最好使用小写!
‘#’
井号将发送一个 Windows 徽标键,因此语句 Send("#r") 将发送 Win+r,这将打开“运行”对话框。
使用详情:
https://www.jb51.net/shouce/autoit/
ssl vpn客户端登陆例子:
Func ssl_vpn_login(
a
p
p
)
R
u
n
(
app) Run(
app)Run(app)
WinWait(“SSL VPN”,“自动登录”)
WinActivate(“SSL VPN”,“服务器地址”)
send(“leizhenhua”)
#send("{ENTER}")
Sleep(2000)
send("{TAB}")
send(“123456”)
#send("{ENTER}")
ControlClick(“SSL VPN”,“服务器地址”,“Button5”)
#sleep(10000)
#WinKill(“SSL VPN”)
EndFunc
func config_ip(KaTeX parse error: Undefined control sequence: \Windows at position 15: ip) Run("C:\̲W̲i̲n̲d̲o̲w̲s̲\System32\cmd.e…ip 255.255.255.0 10.121.51.254")
Sleep(1000)
send("{ENTER}")
Sleep(5000)
WinKill(“管理员: C:\Windows\System32\cmd.exe”,"")
EndFunc
Local $sslvpn_path=“C:\Program Files (x86)\sslvpn.exe”
Global $ip
KaTeX parse error: Expected 'EOF', got '#' at position 7: ip=82 #̲ssl_vpn_login(sslvpn_path)
For
i
=
10000
t
o
1
S
t
e
p
−
1
s
s
l
v
p
n
l
o
g
i
n
(
i =10000 to 1 Step -1 ssl_vpn_login(
i=10000to1Step−1sslvpnlogin(sslvpn_path)
sleep(20000)
WinActivate(“SSL VPN Service”)
KaTeX parse error: Expected 'EOF', got '#' at position 42: … VPN Service") #̲MsgBox(0,"句柄是",handle)
#Sleep(5000)
WinActivate(“SSL VPN Service”)
$size = WinGetPos(“SSL VPN Service”)
#MsgBox(0, “当前激活窗口的状态(x,y,宽度,高度):”, $size[0] & " " & $size[1] & " " & $size[2] & " " & $size[3])
MouseClick(“left”, $size[0]+250, $size[1]+250, 1)
sleep(1000)
MouseClick(“left”, $size[0]+250, $size[1]+280, 1)
sleep(1000)
MouseClick(“left”, $size[0]+350, $size[1]+250, 1)
send(“www.wdj.com”)
send("{TAB}")
send("{ENTER}")
sleep(1000)
WinActivate(“SSL VPN Service”)
sleep(2000)
ProcessClose(“chrome.exe”)
ProcessClose(“software_reporter_tool.exe”)
sleep(5000)
WinKill(“SSL VPN”)
sleep(5000)
Next
MsgBox(0,"", “循环结束”)