Como exibir o número de aplicativos agrupados na barra de tarefas do Windows 7?

3

No Windows XP e no Vista, era possível saber de relance o número de instâncias agrupadas na barra de tarefas / janelas abertas para cada aplicativo:



Por algum motivo, o recurso foi removido do Windows 7 . Existe uma maneira de reativá-lo de alguma forma, mesmo que exija software de terceiros?

    
por danicotra 27.04.2015 / 21:03

2 respostas

4

Isso pode ser feito agora com a ajuda de 7+ Taskbar Numberer (desenvolvido por RaMMicHaeL, que também está por trás do brilhante 7+ Taskbar Tweaker ).

Se você iniciar o programa com o parâmetro de linha de comando -v4 , ele exibirá o número de botões agrupados de janelas / barra de tarefas para cada aplicativo, desde que o programa esteja em execução:

Sevocêiniciaroprogramacomoparâmetrodelinhadecomando-v5,eleexibiráonúmerodejanelasagrupadas/botõesdabarradetarefasparacadaaplicativoenquantooprogramaestiveremexecuçãoe não é pressionado. Se forpressionado,eleexibiráonúmerodaposiçãodecadabarradetarefasgrupodebotõesparaque + Dígito possa ser usado para ativar cada grupo:

    
por 19.05.2015 / 21:08
0

Após a resposta de Karan, acho que isso é um pouco inútil agora, mas tendo passado algum tempo nisso, decidi compartilhá-lo de qualquer maneira.

Como dito anteriormente, a melhor maneira de atender à necessidade é um aplicativo que "aprimora" a barra de tarefas do Windows 7 de forma a tornar o número de janelas agrupadas exibido apenas no ícone relativo, mas parece que não existia então pensei em criar um sozinho. Bem, eu acho que a linguagem a seguir neste caso deve ser MS C ++ .NET (nem mesmo o C # pode ser adequado para o propósito, eu acho ...) e já que eu definitivamente não sou habilidoso o suficiente para conseguir isso agora (e eu não acho que eu vou ter tempo para se tornar de qualquer maneira) a coisa que eu fiz para obter uma espécie de solução "aceitável" para as minhas necessidades tem sido modificar este script AHK da seguinte forma:

;;WARNING NOTE 1: does't count grouped open folders
;;WARNING NOTE 2: opened Windows Media Player counts as 4 instances
;;WARNING NOTE 3: count fails in the remote hypothesis that, for example, a folder named ".pdf - Adobe Reader" is open 
;; based on http://www.autohotkey.com/board/topic/35867-winget-count-is-telling-me-i-have-6-windows-open-but/

#SingleInstance, force 

Gui, add, text, , Windows count (including not grouped ones) = 
Gui, add, text, x+5 vcount, XX 
Gui, add, edit, xm r20 vWList w400 -wrap +0x100000 +readonly 
Gui, Show
GoSub, checklist

SetTimer, checklist, 3000 
return 

checklist: 
  WinGet, count, count
  WinGet,current,List 
  nocount = 0
  last_app_name = %A_Space%- %A_Tab% ; something that surely can't be used for files/folders file... Tip: anyway "Start" should always be the first element of the list
  myArray := Object()
  log = grouped applications instances:
  loop, %current% { 
    WinGetTitle, tTitle, % "ahk_id " current%A_Index% 
    if tTitle is space
    {
      nocount += 1 
    }
    else if (tTitle == A_ScriptName || tTitle == "Start" || tTitle == "Program Manager" || tTitle == "Default IME" || tTitle == "HTA Test" || tTitle = "C:\Windows\system32\cmd.exe") ; note == for everything except = path as case may vary on different PCs
    {
      nocount += 1
    }
    else
    {
     temp_FoundP := InStr(tTitle, last_app_name, 0) 
     if ((temp_FoundP != 0 ) && (last_app_name == substr(tTitle, temp_FoundP) ))
     {
       myArray[last_app_name] += 1
     }
     else
     {
      temp_FoundP := InStr(tTitle, " - ", 0) 
      if (temp_FoundP != 0) {
        last_app_name := substr(tTitle, temp_FoundP)
      }
      else {
        last_app_name = %A_Space%- %A_Tab%
      }
      if myArray[last_app_name] {
        myArray[last_app_name] += 1
      }
      else { myArray[last_app_name] := 1
      }
     }
    } 
   } 
  remaindercount = 0
  For key, value in myArray
  {
;MsgBox %key% = %value% ; DELETE THIS LINE
    if (key == "-" || value == 1) {
      remaindercount += value
    }
    else {    
      log .= "'n" key " = " value 
    }
  }
  if remaindercount > 0
      log .= "'n(remaining = " remaindercount ")"
;  Sort, log, C   ; uncomment this to sort by name 
  count -= nocount
  GuiControl, , count, %count%
  GuiControl, , WList, %log% 
  return 

GuiClose: 
ExitApp

NOTA FINAL: esta foi a minha primeira vez com o AHK e estou sempre com pressa, então minha codificação pode não ser "ótima" e totalmente testada ... além disso, existem algumas limitações (leia as notas de aviso). De qualquer forma, como disse, acho que isso não é mais útil depois que Karan responder (que aceitei como solução), mas qualquer um capaz de sugerir uma forma / solução mais conveniente (outra aplicação similar ou alguma codificação em uma linguagem de programação mais séria) AHK por exemplo ... bem, ok, talvez isso é mais matéria stackoverflow) ainda é bem-vinda. Muito obrigado.

    
por 20.05.2015 / 18:50