;~ 一键安装FastCopy汉化版 by BoAi 2019年02月18日
; -- 设置脚本全局参数
#NoEnv ;不检查空变量是否为环境变量(建议所有新脚本使用)。
; #Warn ;启用可能产生错误的特定状况时的警告,例如书写错误或缺少全局声明。
SendMode Input ;让 Send 和 SendInput 或 SendPlay 具有相同的功能而不是默认的(SendEvent)。
SetWorkingDir,%A_ScriptDir% ; 改变脚本的当前工作目录。
DetectHiddenWindows,On ;设置脚本是否可以“看见”隐藏的窗口。
SetTitleMatchMode,2 ; 设置在类似 WinWait 命令中 WinTitle 参数的匹配模式。2: 窗口标题的某个位置必须包含WinTitle。.
; -- 运行 FastCopy 安装包程序,这里进行有限次数的循环防止没有执行到或者一直执行操作
loop,333
{
Process,Exist,FCSetup.exe
pc_1:=ErrorLevel
;;如果进程不存在
Sleep,3
IfEqual,pc_1,0
{
IfWinNotExist,FastCopy Setup ver3.62
{
IfExist,%A_ScriptDir%\FCSetup.exe
{
Run,%A_ScriptDir%\FCSetup.exe
}
}
}
else
{
break
}
}
;----- 定义单击窗口某控件的函数
;----- 用法语法:myControlClick2(AHKInfo1.3.5探测到的控件名(无双引号),窗口标题,窗口文本,下一个窗口标题,下一个窗口文本)
myControlClick2(mycontrol,mywintitle,mywintext,mynextwintitle,mynextwintext)
{
loop,3
{
;激活(显示并切换到)窗口,记事本是窗口的标题
WinGet, WinID1, ID,%mywintitle%,%mywintext%
DllCall("SwitchToThisWindow", "UInt", WinID1, "UInt", 1)
IfWinActive,%mywintitle%,%mywintext%
{
;点击控件
ControlClick, %myControl%,%mywintitle%,%mywintext%
}
;验证点击控件是否成功
IfWinActive,%mynextwintitle%,%mynextwintext%
break
}
}
; -- 处理 第1个 FastCopy 安装窗口
loop,33
{
;;激活(显示并切换到)窗口,记事本是窗口的标题
WinGet, WinID1, ID,FastCopy Setup ver3.62,中更改扩展设置
DllCall("SwitchToThisWindow", "UInt", WinID1, "UInt", 1)
;~ WinActivate,FastCopy Setup ver3.62,中更改扩展设置
Sleep,10
IfWinActive,FastCopy Setup ver3.62,中更改扩展设置
{
ControlSetText,Edit1,D:\Program\FastCopy,FastCopy Setup ver3.62,中更改扩展设置
Sleep,10
ControlSetText,Edit1,D:\Program\FastCopy,FastCopy Setup ver3.62,中更改扩展设置
Sleep,10
ControlSetText,Edit1,D:\Program\FastCopy,FastCopy Setup ver3.62,中更改扩展设置
Sleep,10
ControlClick,Button1,FastCopy Setup ver3.62,中更改扩展设置
}
;;激活(显示并切换到)窗口,记事本是窗口的标题
WinGet, WinID2, ID,Install,开始
DllCall("SwitchToThisWindow", "UInt", WinID2, "UInt", 1)
;~ WinActivate,Install,开始
Sleep,10
IfWinActive,Install,开始
{
break
}
}
; -- 处理 第2个 FastCopy 安装窗口
loop,33
{
;;激活(显示并切换到)窗口,记事本是窗口的标题
WinGet, WinID3, ID,Install,开始
DllCall("SwitchToThisWindow", "UInt", WinID3, "UInt", 1)
Sleep,10
IfWinActive,Install,开始
ControlClick,Button1,Install,开始
;;激活(显示并切换到)窗口,记事本是窗口的标题
WinGet, WinID3, ID,安装,请执行安装目录中的
DllCall("SwitchToThisWindow", "UInt", WinID3, "UInt", 1)
Sleep,10
IfWinActive,安装,请执行安装目录中的
{
break
}
}
loop,33
{
WinGet, WinID3, ID,安装,请执行安装目录中的
DllCall("SwitchToThisWindow", "UInt", WinID3, "UInt", 1)
Sleep,10
IfWinActive,安装,请执行安装目录中的
ControlClick,Button1,安装,请执行安装目录中的
WinGet, WinID3, ID,FastCopy ver3.62,交换数据流
DllCall("SwitchToThisWindow", "UInt", WinID3, "UInt", 1)
Sleep,10
IfWinActive,FastCopy ver3.62,交换数据流
{
break
}
}
loop,33
{
WinGet, WinID3, ID,FastCopy ver3.62,交换数据流
DllCall("SwitchToThisWindow", "UInt", WinID3, "UInt", 1)
Sleep,10
IfWinActive,FastCopy ver3.62,交换数据流
Sleep,200
Send,{AltDown}OM{AltUp},FastCopy ver3.62,交换数据流
Sleep,200
WinActivate,主要设置,预计完成时间
Sleep,10
IfWinActive,主要设置,预计完成时间
{
break
}
}
loop,3
{
WinGet, WinID3, ID,主要设置,预计完成时间
DllCall("SwitchToThisWindow", "UInt", WinID3, "UInt", 1)
Sleep,10
IfWinActive,主要设置,预计完成时间
ControlSend,ListBox1,{End}
}
loop,33
{
WinGet, WinID3, ID,主要设置,预计完成时间
DllCall("SwitchToThisWindow", "UInt", WinID3, "UInt", 1)
Sleep,10
IfWinActive,主要设置,预计完成时间
{
Sleep,100
ControlSend,ListBox1,{Up}
Sleep,100
ControlSend,ListBox1,{Up}
break
}
}
loop,3
{
WinGet, WinID3, ID,主要设置,预计完成时间
DllCall("SwitchToThisWindow", "UInt", WinID3, "UInt", 1)
Sleep,10
IfWinActive,主要设置,预计完成时间
Control,Check,,Button66,主要设置,外壳扩展
}
; -- 处理 最后1个 FastCopy 安装窗口,操作完成后关闭所有对话框窗口。
loop,33
{
WinGet, WinID3, ID,主要设置,预计完成时间
DllCall("SwitchToThisWindow", "UInt", WinID3, "UInt", 1)
Sleep,10
IfWinActive,主要设置,预计完成时间
{
Sleep,10
ControlClick,Button2,主要设置,外壳扩展
Sleep,300
ControlClick,Button1,主要设置,外壳扩展
loop,333
{
WinClose,FastCopy ver3.62,交换数据流
Sleep,10
WinClose, FastCopy, 现在更新
Sleep,10
}
}
}