限制单进程运行
#SingleInstance Off
;MsgBox, 4096,, % A_Now
return
OnlyOne(flag="")
{
static init:=OnlyOne("001")
DetectHiddenWindows, % (bak:=A_DetectHiddenWindows) ? "On":"On"
mypid:=DllCall("GetCurrentProcessId")
flag:="Ahk_OnlyOne_Ahk<<" . flag . ">>"
Gui, Ahk_OnlyOne_Ahk: Show, Hide, %flag%
WinGet, list, List, %flag% ahk_class AutoHotkeyGUI
Loop, % list
IfWinExist, % "ahk_id " . list%A_Index%
{
WinGet, pid, PID
IfEqual, pid, %mypid%, Continue
WinClose, ahk_pid %pid% ahk_class AutoHotkey,, 3
IfWinNotExist,,, Continue
Process, Close, %pid%
WinWaitClose
}
WinGet, list, List, %flag% ahk_class AutoHotkeyGUI
IfNotEqual, list, 1, ExitApp
DetectHiddenWindows, %bak%
}
;ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ 限制单进程运行 ΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞΞ 3-64
``
转载请注明出处