autoit au3 IT管理员使用指南(二)自动安装软件基础
简介#
上篇介绍了au3的基本操作流程,对于我们要自动安装软件,那么就是要安装某个软件,执行一个程序。
一个中文文档,但是命令没有详解。
官方文档,有命令详解。
Run#
我们可以通过Run命令来执行一个程序,那么我们尝试执行一下搜狗输入法吧。
创建sougou_input目录,下载搜狗输入法安装文件放入该目录。
创建一个au3脚本
#下面一行是:申请使用管理员权限,否则安装程序有可能不执行,启动还会提示管理员权限。
#RequireAdmin
#下面一行是:执行当前目录下的sougou_pinyin_14.4c.exe程序,@ScriptDir后面没有反斜线,所以文件名前面加一个。
# @ScriptDir是指当前目录
Run(@ScriptDir & "\sogou_pinyin_14.4c.exe")
F5执行,第一个窗口会提示管理员权限,然后就会执行搜狗拼音的安装程序了。
winwait#
自动化程序,不能一直傻傻的下一步,必须要寻找合适的时机才可以继续下一步,那么我们就要处理等待时机。
winwait,窗口等待的意思。
下载了微信安装包,也就他比较大,能经得起时间的考验,不至于秒开。我测试的时候,是已经安装过微信了。
测试代码如下:
执行安装文件后,就立刻执行MsgBox了。甚至安装界面还没出来,就已经执行MsgBox了。
#include<MsgBoxConstants.au3> #RequireAdmin Run(@ScriptDir & "\WeChatSetup_3.9.10.exe") MsgBox($MB_SYSTEMMODAL, "标题", "测试消息")
我们去抓一下微信安装程序启动后是有什么信息。
抓到了Title,Class。
测试一下分别使用Title,Class暂停脚本,等待Title或Class出现,再执行后面的语句。
测试等待Class出现ConfirmDialog以后,再执行后面的语句。
#include<MsgBoxConstants.au3> #RequireAdmin Run(@ScriptDir & "\WeChatSetup_3.9.10.exe") WinWait("[CLASS:ConfirmDialog]") MsgBox($MB_SYSTEMMODAL, "标题", "测试消息")
测试抓title,失败,也不知道为什么,以后还是抓class吧。
#include<MsgBoxConstants.au3> #RequireAdmin Run(@ScriptDir & "\WeChatSetup_3.9.10.exe") WinWait("微信安装向导") MsgBox($MB_SYSTEMMODAL, "标题", "测试消息")
键盘#
send,太多组合键,自己查吧。就是发送键盘活动,安装时,很多快捷键是非常方便的,定位精准。
Function Send (autoitscript.com)
鼠标#
MouseClick ( "button" [, x, y [, clicks = 1 [, speed = 10]]] )
MouseClick 鼠标点击
button 按哪个键
x y,点击的坐标
clicks ,点击几次,单击,双击
speed ,移动速度,会有人做机器人吧,被人机认证识别。
等待#
sleep(1000)
单位毫秒,1000是1秒。
结语#
这玩意就跟按键精灵一样啊。不过免费编译exe。
抓点,移动鼠标,点击,键盘输入,等待。
骚活#
为了保障在不同分辨率下工作正常,我做了个函数,保证最终运行时,在不同的分辨率下均可以正确点击。类似于相对移动,但是autoit3中内置的相对移动,我就没正常运行。
写个伪代码吧。
传入$st,
func mov_click($st,$inX,$inY,$nc)
#软件信息的起始xy
$dx=300
$dy=200
#传入抓到的xy
$cX=$inX
$cY=$inY
#相对位移信息
$tX=$cX-$dX
$tY=$cY-$dY
#计算后目标位置
$newX=$st[0]+$tX
$newY=$st[1]+$tY
MouseClick("left",$newX,$newY,$nc)
endfunc
#等待目标窗口出现
$hWnd=WinWait("软件标题")
#获取目标窗口位置大小信息
$st=WinGetPos($hWnd)
#用抓的点($inX,$inY)去进行比较点击$nc次(单双击的意思,1或2)
mov_click($st,$inX,$inY,$nc)
作者:上官飞鸿
出处:https://www.cnblogs.com/jackadam/p/18188042
版权:本作品采用「知识共享-署名-非商业性-禁止演绎(CC-BY-NC-ND)」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-05-12 证书服务(四)opensslCA证书中心