Code: Select all
#NoEnv
#SingleInstance force
SetTitleMatchMode,2
; 检查是否以管理员身份运行
if not A_IsAdmin
{
Run *RunAs "%A_ScriptFullPath%"
ExitApp
}
targetExe := "client.exe"
; 设置预设的颜色值和坐标
presetColor1 := 0xDEB82B
presetX1 := 1470
presetY1 := 1041
presetColor2 := 0xE88F0C
presetX2 := 1468
presetY2 := 1065
presetColor3 := 0xE2E3E4
presetX3 := 1420
presetY3 := 1333
CheckColorAndSend()
{
; 在屏幕上搜索指定坐标的颜色值
PixelSearch, foundX1, foundY1, %presetX1%, %presetY1%, %presetX1%, %presetY1%, %presetColor1%
; 判断颜色值是否匹配预设值
if (foundX1 && foundY1)
{
; 使用SendMessage函数发送键f(对应的码为0x46)
SendMessage, 0x46, 0, 0,, ahk_exe %targetExe%
return
}
; 在屏幕上搜索指定坐标的颜色值
PixelSearch, foundX2, foundY2, %presetX2%, %presetY2%, %presetX2%, %presetY2%, %presetColor2%
; 如果第二个颜色值未找到,则继续搜索第三个颜色值
if !(foundX2 && foundY2)
{
; 在屏幕上搜索指定坐标的颜色值
PixelSearch, foundX3, foundY3, %presetX3%, %presetY3%, %presetX3%, %presetY3%, %presetColor3%
; 判断颜色值是否匹配预设值
if (foundX3 && foundY3)
{
; 使用SendMessage函数发送键5(对应的码为0x35)
SendMessage, 0x35, 0, 0,, ahk_exe %targetExe%
}
}
}
; 定时器每隔1秒执行一次颜色检查
SetTimer, CheckColorAndSend, 1000
; 设置退出脚本时的操作
OnExit("ClearTimer")
return
ClearTimer() {
SetTimer, CheckColorAndSend, Off
}