找回密码
 加入
搜索
查看: 767|回复: 7

[AU3基础] 关于自动安装程序时禁用键盘鼠标的问题

[复制链接]
发表于 2022-4-28 22:49:24 | 显示全部楼层 |阅读模式
先上代码

BlockInput(1)
Run("PreSonus Studio One 5 Installer.exe")
Local $hWnd = WinWait("Installer Language", "Please select a language.", 0) ;等待窗口
WinActivate("Installer Language") ;激活窗口
BlockInput(0)
ControlClick($hWnd, "", "Button1") ;点击按钮
BlockInput(1)
Local $hWnd = WinWait("Studio One 5 安装", "欢迎使用 Studio One 5 安装程序", 0) ;等待窗口
WinActivate("Studio One 5 安装") ;激活窗口
BlockInput(0)
ControlClick($hWnd, "", "Button2") ;点击按钮
BlockInput(1)
Local $hWnd = WinWait("Studio One 5 安装", "许可证协议", 0) ;等待窗口
WinActivate("Studio One 5 安装") ;激活窗口
BlockInput(0)
ControlClick($hWnd, "", "Button2") ;点击按钮
BlockInput(1)
Local $hWnd = WinWait("Studio One 5 安装", "选择安装位置", 0) ;等待窗口
WinActivate("Studio One 5 安装") ;激活窗口
BlockInput(0)
ControlClick($hWnd, "", "Button2") ;点击按钮
BlockInput(1)
Local $hWnd = WinWait("Studio One 5 安装", "Studio One 5 安装程序结束", 0) ;等待窗口
WinActivate("Studio One 5 安装") ;激活窗口
BlockInput(0)
ControlClick($hWnd, "", "Button2") ;点击按钮
BlockInput(1)
Run("Studio One.exe") ;替换主程序
Sleep(5000) ;延迟3秒

Run("C:\Program Files\PreSonus\Studio One 5\Studio One.exe") ;启动程序
WinActivate("[CLASS:CCLDialogClass]") ;激活窗体
WinWaitActive("[CLASS:CCLDialogClass]") ;等待激活后执行下面
Opt("MouseCoordMode", 0) ;激活窗口客户区的相对坐标
BlockInput(0)
MouseClick("", 220, 470) ;鼠标点击相对坐标
BlockInput(1)
Sleep(500) ;延迟500毫秒

WinActivate("[CLASS:CCLDialogClass]") ;激活窗体
WinWaitActive("[CLASS:CCLDialogClass]") ;等待激活后执行下面
Opt("MouseCoordMode", 0) ;激活窗口客户区的相对坐标
BlockInput(0)
MouseClick("", 441, 20) ;鼠标点击相对坐标
BlockInput(1)
Sleep(500) ;延迟500毫秒

WinActivate("[CLASS:CCLDialogClass]") ;激活窗体
WinWaitActive("[CLASS:CCLDialogClass]") ;等待激活后执行下面
Opt("MouseCoordMode", 0) ;激活窗口客户区的相对坐标
BlockInput(0)
MouseClick("", 315, 505) ;鼠标点击相对坐标
BlockInput(1)
Sleep(500) ;延迟500毫秒

WinActivate("[CLASS:CCLDialogClass]") ;激活窗体
WinWaitActive("[CLASS:CCLDialogClass]") ;等待激活后执行下面
Opt("MouseCoordMode", 0) ;激活窗口客户区的相对坐标
BlockInput(0)
MouseClick("", 335, 315) ;鼠标点击相对坐标
BlockInput(1)
Sleep(500) ;延迟500毫秒

Run("StudioOne_Keygen.exe") ;运行注册机

WinActivate("[CLASS:hspwnd0]") ;激活窗体
WinWaitActive("[CLASS:hspwnd0]") ;等待激活后执行下面
Opt("MouseCoordMode", 0) ;激活窗口客户区的相对坐标
BlockInput(0)
MouseClick("", 315, 220) ;鼠标点击相对坐标

Send("^v") ;粘贴剪贴板内容到当前光标处
MouseClick("", 100, 280) ;鼠标点击相对坐标
BlockInput(1)
WinActivate("浏览文件夹") ;激活窗体
WinWaitActive("浏览文件夹") ;等待激活后执行下面
BlockInput(0)
Send("{PgUp}") ;模拟按键
Send("{ENTER}") ;模拟按键
BlockInput(1)
Local $hWnd = WinWait("StudioOne KeyGen v3.13.0", "Licenses have been generated.", 10) ;等待窗口
WinActivate("Studio One 5 安装") ;激活窗口
ProcessClose("Keygen.exe") ;关闭程序

WinActivate("[CLASS:CCLDialogClass]") ;激活窗体
WinWaitActive("[CLASS:CCLDialogClass]") ;等待激活后执行下面
Opt("MouseCoordMode", 0) ;激活窗口客户区的相对坐标
BlockInput(0)
MouseClick("", 310, 410) ;鼠标点击相对坐标
BlockInput(1)
Sleep(1000) ;延迟500毫秒

WinActivate("[CLASS:#32770]") ;激活窗体
WinWaitActive("[CLASS:#32770]") ;等待激活后执行下面
BlockInput(0)
Send("C:\Users\Administrator\Desktop\studioapp5.pro.license") ;输入路径
Send("{ENTER}") ;模拟按键
BlockInput(1)
Sleep(1000) ;延迟1秒
BlockInput(0)
Send("!O") ;模拟按键
BlockInput(1)
Sleep(1000) ;延迟1秒

Local $hWnd = WinWait("[CLASS:#32770]", "", 0) ;等待窗口
WinActivate("[CLASS:#32770]") ;激活窗口
BlockInput(0)
ControlClick($hWnd, "", "Button1") ;点击按钮
BlockInput(1)
FileDelete("C:\Users\Administrator\Desktop\*.license") ;删除通配符后缀的文件
WinActivate("Studio One安装") ;激活窗体
WinWaitActive("Studio One安装") ;等待激活后执行下面
Opt("MouseCoordMode", 0) ;激活窗口客户区的相对坐标
BlockInput(0)
Sleep(1000) ;延迟1秒
MouseClick("", 640, 10) ;鼠标点击相对坐标



好了  
BlockInput(1) 禁用键盘鼠标
BlockInput(0) 启用键盘鼠标

我主要想讨论这俩代码

我用了很多这个代码  原因就是  怕安装的时候 有人乱动    但是  AU3要用键盘鼠标的时候  又要解开   所以写代码的时候  很麻烦   

还有就是 如果一旦有脚本运行错误     正好赶上 锁定键盘鼠标的时候就。。。。尴尬了

所以 可以设置一个热键 就是一旦脚本卡住的时候  可以 解锁键盘鼠标的禁用吗   或者 设置一个超时就自动解锁 键盘鼠标


还有就是  我这么写代码是不是 很笨的方法  有没有简单一点的办法 或者别的思路


我是一个小白  学了两天的AU3  今天刚刚 进的论坛   希望跟大家共同学习 进步




评分

参与人数 1金钱 +50 收起 理由
绿色风 + 50 淡定! 加油!

查看全部评分

发表于 2022-4-29 07:52:11 | 显示全部楼层
换命令用 Control***开头的命令 不用考虑鼠标键盘的影响
发表于 2022-4-29 08:24:43 | 显示全部楼层
haijie1223 发表于 2022-4-29 07:52
换命令用 Control***开头的命令 不用考虑鼠标键盘的影响

这个输入法会影响的。
发表于 2022-4-29 08:53:42 | 显示全部楼层
Windows API 的特点, 在任何平台点击 Ctrl+Alt+Del, 都将重新恢复输入
 楼主| 发表于 2022-4-29 12:49:11 | 显示全部楼层
redapple2008 发表于 2022-4-29 08:24
这个输入法会影响的。

输入法可以自动关闭吗
 楼主| 发表于 2022-4-29 12:49:32 | 显示全部楼层
haijie1223 发表于 2022-4-29 07:52
换命令用 Control***开头的命令 不用考虑鼠标键盘的影响

好的 我去查一下帮助
发表于 2022-4-29 13:07:13 | 显示全部楼层
 楼主| 发表于 2022-4-29 14:22:06 | 显示全部楼层
redapple2008 发表于 2022-4-29 13:07
https://www.autoitx.com/thread-72964-1-1.html?_dsign=9655d6c0
看看这个帖子。

好的呢 学习了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-23 17:55 , Processed in 0.071420 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表