カーソル下のウィンドウを非表示

このウィンドウの後ろのアレが見たいのに!みたいな事ってよくあるよね。

hide_windows:=""
HideStart()
{
  return
}
HideOne()
{
  global hide_windows
  MouseGetPos,x,y,actv_win,1
  WinHide, ahk_id %actv_win%
  if( hide_windows = "" )
  { 
    hide_windows = %actv_win%
  }
  else
  { 
    hide_windows = %actv_win%:%hide_windows%
  }
  return
}
ShowOne()
{
  global hide_windows
  If( StrLen(hide_windows) = 0 )
  {
    return -1
  }
  StringGetPos, pos, hide_windows, `:
  If( pos > 0 )
  {
    StringTrimRight, actv_win, hide_windows, pos+1
    StringTrimLeft, hide_windows, hide_windows, pos+1
    WinShow, ahk_id %actv_win%
    return 1
  }
  else
  {
    WinShow, ahk_id %hide_windows%
    hide_windows =
    return 0
  }
}

ShowAll()
{
  SetWinDelay, 0
  Loop
  {
    If( ShowOne() <= 0 )
    {
       break
    }
  }
  return
}

ShowOne:
  ShowOne()
return

HideOne:
  HideOne()
return

HideShow()
{
  HideStart()
  HotKey, WheelUp , ShowOne, UseErrorLevel On
  HotKey, WheelDown , HideOne, UseErrorLevel On
  KeyWait, %A_ThisHotkey%
  HotKey, WheelUp , Off, UseErrorLevel
  HotKey, WheelDown , Off, UseErrorLevel
  ShowAll()
  return
}

で、割り当てたいキーに割り当て。僕は多ボタンマウスを使っているので、マウスジェスチャーで事足りている「戻る」ボタンに上書き

XButton1::HideShow()

チラ見

しかしAutoHotkeyの変態スクリプト言語は何とかならんもんか。だれかjavascriptにしてください