#Requires AutoHotkey v2.0 #SingleInstance Force Persistent GetButtons() { state := Buffer(16, 0) for dll in ["xinput1_4.dll", "xinput1_3.dll", "xinput9_1_0.dll"] { try { if (DllCall(dll "\XInputGetState", "UInt", 0, "Ptr", state.Ptr, "UInt") = 0) return NumGet(state, 4, "UShort") } } return -1 } BTN_BACK := 0x0020 lastDown := false busy := false isOn := false DoAction() { global isOn easy := A_ScriptDir "\EasyFarmToggle_v2.1.0.ahk" if !FileExist(easy) { MsgBox "EasyFarmToggle_v2.1.0.ahk が見つかりません" return } Run easy isOn := !isOn if (isOn) { TrayTip "FFXI", "EasyFarm ON", 1 } else { TrayTip "FFXI", "EasyFarm OFF", 1 } } Poll() { global lastDown, busy if busy return btn := GetButtons() if (btn = -1) return nowDown := (btn & BTN_BACK) != 0 if (nowDown && !lastDown) { busy := true DoAction() Sleep 250 busy := false } lastDown := nowDown } SetTimer Poll, 20