Você pode conseguir isso usando AutoHotKey . Instale-o e crie os seguintes 2 arquivos:
switcher.ahk
#SingleInstance force
WinGet, id_ini, list,,, Program Manager
prev = %id_ini%
loop
{
sleep 3000 ; Milliseconds for which the loop waits before another iteration
WinGet, id, list,,, Program Manager
current = %id%
if(current < prev)
{
;somethin closed - press windows key here
Run, "C:\press_windows.vbs"
}
prev = %id%
sleep 500
}
press_windows.vbs
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^{ESCAPE}"
Depois de criar os dois arquivos e ajustar o caminho no arquivo switcher.ahk para o local do vbs que você criou. Você só precisa Executar o arquivo Autohotkey (, por exemplo, switcher.ahk ) e está pronto.
Isso contará todas as janelas (Excluindo os serviços e processos em segundo plano) E se o número de Windows Reduces enviar um pressionamento de tecla do Windows e alternar para Modern-UI.
Estou usando um VBS porque, por algum motivo, o Windows-8 não usa a tecla Windows pressionada pelo AHK.
Observação: esse script precisa ser refinado; às vezes, pode se comportar de maneira inesperada, pois também conta o menu de contexto e as notificações como uma nova janela. Então, quando eles estão fechados, envia um pressionamento de tecla.
Para evitar esse comportamento, precisamos excluir tais coisas, o que pode ser feito facilmente.