#NoEnv
SetBatchLines -1
#SingleInstance Force
; https://www.autohotkey.com/boards/viewtopic.php?t=74874

Menu, Windows, Add
Menu, Windows, deleteAll
WinGet windows, List
Loop %windows% {
  id := windows%A_Index%
  WinGetTitle title, ahk_id %id%
  If (title = "")
    continue
  WinGetClass class, ahk_id %id%	
  If (class = "ApplicationFrameWindow") {
    WinGetText, text, ahk_id %id%
    If (text = "") {
      WinGet, style, style, ahk_id %id%
      If !(style = "0xB4CF0000")  ; 窗口没有最小化
        continue
    }
  }
  
  If (class = "AutoHotkeyGUI")
    continue

  WinGet, style, style, ahk_id %id%
  if !(style & 0xC00000)  ; 如果窗口没有标题栏【此项会过滤掉QQ微信、模拟器】
    ; If title not contains ...  ; 添加异常
      continue

  WinGet, Path, ProcessPath, ahk_id %id%
  Menu, Windows, Add, %title%, Activate_Window
  Try 
    Menu, Windows, Icon, %title%, %Path%,, 0
  Catch 
    Menu, Windows, Icon, %title%, %A_WinDir%\System32\SHELL32.dll, 3, 0
  底部列表统计 .= title "`n"
}
Menu, Windows, Show
MsgBox % 底部列表统计
return

Activate_Window:
  SetTitleMatchMode, 3
  WinGetClass, Class, %A_ThisMenuItem%
  If (Class="Windows.UI.Core.CoreWindow") ; 最小化的窗口有另一个类
    WinActivate, %A_ThisMenuItem% ahk_class ApplicationFrameWindow
  else
    WinActivate, %A_ThisMenuItem%
return

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。