----
Unless this solution is very good, I prefer only one script running.
Once Started with HW_Test.ahk, you can hide the current active Window with Win-Key + Ctrl-Key + H. The script builds a context menu, were you can unhide one or all windows at once.
Because this scripts are included in my master AutoHokey file, you'll see three files here.
1. This is for starting
; HW_Test.ahk, V1.0 ; <:3 )~~~~ Starter #Include HW_AutoExecute.ahk #^h:: HideActiveWindow() ; Win-Key + Ctrl-Key + H hides #include HW_Subs&Funcs.ahk2. This is the stuff for the auto-execute block
; HW_AutoExecute.ahk, V1.0 ; <:3 )~~~~ Hidden Window Configuration CoordMode, ToolTip, Screen ; screen coordinates for ToolTip BlockInput, SendAndMouse ; Better safe than sorry ; Building the Menu Menu, HWMenu, add, Unhide All, HWHandler Menu, HWMenu, add ; Separator Menu, tray, add, Hidden Windows, :HWMenu Menu, tray, disable, Hidden Windows HWMenuStart = 2 ; two default menu entries HWs := HWMenuStart ; no hidden windows OnExit, HWExit ; Unhiding, also on reload3. Finally, the Subs & Functions
; HW_Subs&Funcs.ahk, V1.0 ; <:3 )~~~~ ToolTip Stuff ShowToolTip(ToolTip) { ToolTip, %ToolTip%,0,0 SetTimer, RemoveToolTip, 2000 } RemoveToolTip: SetTimer, RemoveToolTip, Off ToolTip return ; <:3 )~~~~ Hide Window Stuff HideActiveWindow() { Global Local Temp, Begin WinGetClass, Temp, A If Temp in Shell_TrayWnd,Progman,DV2ControlHost { ShowToolTip("Will not hide system windows ...") return } Temp := WinExist("A") IfEqual, Temp, 0x0 { ShowToolTip("Nothing to hide!") return } HWs := HWs + 1 HW%HWs% := Temp WinGetTitle, Temp, ahk_id%Temp% If (StrLen(Temp) > 32) { StringLeft, Begin, Temp, 14 StringRight, Temp, Temp, 15 Temp := Begin "..." Temp } HW%HWs%T := Temp ShowToolTip( "Hiding " HW%HWs%T) WinHide, % "ahk_id" HW%HWs% If (HWs = HWMenuStart + 1) Menu, tray, enable, Hidden Windows ; HW%HWs% added => unique menu entries Menu, HWMenu, Add, % HW%HWs%T " (" HW%HWs% ")", HWHandler } ShowHiddenWindow(HWNo) { Global Local i, j WinShow, % "ahk_id" HW%HWNo% Menu, HWMenu, Delete, % HW%HWNo%T " (" HW%HWNo% ")" IfGreater, HWs, %HWNo% Loop, % HWs - HWNo { ; No real arrays, drop line j := A_Index + HWNo i := j - 1 HW%i% := HW%j% HW%i%T := HW%j%T } HW%HWs%= HW%HWs%T= HWs := HWs - 1 IfEqual, HWs, %HWMenuStart% Menu, tray, disable, Hidden Windows } ShowAll() { Global Loop, % HWs - HWMenuStart ShowHiddenWindow(HWMenuStart + 1) } HWHandler: IfEqual, A_ThisMenuItem, Unhide All ShowAll() else ShowHiddenWindow(A_ThisMenuItemPos) return HWExit: ShowToolTip("Unhiding all ...") ShowAll() ExitAppHope you'll like it