用堆栈的数据结构来实现 :最小化几个窗口,再依次恢复显示。后最小化的先恢复!
测试热键:shift+esc 最小化窗口,shift+`还原窗口
;shift+esc 最小化窗口,shift+`还原窗口
#Persistent
WindowList:=[]
return
+esc::
OutputDebug % "入栈" . WinExist("A")
WindowList.push(WinExist("A"))
; 与 "WinMinimize A" 类似, 但最小化时播放系统声音(如果设置有).
WM_SYSCOMMAND := 0x112
SC_MINIMIZE := 0xF020
PostMessage WM_SYSCOMMAND, SC_MINIMIZE, 0,, A
return
+`::
out:=WindowList.pop()
OutputDebug % "出栈" . out
WinActivate % "ahk_id " . out
return