Необходимо получить список только видимых и не системных окон. Win10
У меня, кроме нужных, возвращаются лишние окна, например:
Microsoft Text Input Application
Program Manager
Найти
У меня, кроме нужных, возвращаются лишние окна, например:
Microsoft Text Input Application
Program Manager
Найти
Код:
#include <Array.au3>
_ArrayDisplay(_GetOpenWindows())
Func _GetOpenWindows()
Local $aWindows[1][3]=[[0]]
$hWinActive=WinGetHandle("[ACTIVE]") ; Активное окно
Local $aList = WinList() ; Массив всех окон
For $i=1 To $aList[0][0]
If $aList[$i][0] = '' Then ContinueLoop ; Окна без заголовка
$iWndState = WinGetState($aList[$i][1]) ; Узнать состояние окна
; Если окно не отображается или не доступно
If Not BitAND($iWndState,2) Or Not BitAND($iWndState,4) Then ContinueLoop
_ArrayAdd($aWindows, $aList[$i][1]&'~|~'&$aList[$i][0],1,'~|~')
ConsoleWrite($aList[$i][1]&' '&$aList[$i][0]&@CRLF) ; Хэндл и Заголовок окна
Next
$aWindows[0][0]=UBound($aWindows)-1
Return $aWindows
EndFunc