Questão Removendo processos mortos da área de notificação da barra de tarefas do Windows


Existem alguns programas do Windows que criam um ícone na área de notificação da barra de tarefas. Mesmo depois que esses processos são eliminados, o ícone da barra de tarefas permanece lá, até você passar o mouse sobre ele e, em seguida, ele desaparece. Existe outra maneira de fazê-los desaparecer sem ter que passar o mouse sobre eles?


4


origem


Eu freqüentemente acho isso irritante também ... - jer.salamon
Procurando por atualizar área de notificação produz soluções que simulam movimentos do mouse sobre a área de notificação: 1, doise essa pergunta semelhante do Stack Overflow: Enviar um sinal para atualizar ícones da systray? Pode haver uma solução melhor que ainda não foi encontrada, mas parece que os outros que olharam estavam satisfeitos com os movimentos simulados do mouse. - Bavi_H


Respostas:


Infelizmente a resposta é não - e isso também é o mesmo no Windows Vista e no Windows 7.

A razão para isso é que eles são exibidos pelo processo do Explorer e, a menos que o aplicativo seja encerrado com segurança, ele não envia nenhuma notificação ao Explorer sobre a eliminação do ícone.

Curto de fechar e reabrir o próprio explorador, eu não tenho certeza de fazer isso. Eu estou supondo que seria tecnicamente possível, como eu me lembro de usar um programa chamado Dohide anos atrás, quando eu estava na escola que esconde processos em execução. Mas isso foi simplesmente escondido, não detectou e fechou os que estão correndo ...

... De qualquer forma, nunca encontrei nenhum aplicativo que faça isso. Sinceramente, se um aplicativo falhar, o fabricante / desenvolvedor deve realmente corrigi-lo, e executar o mouse sobre o ícone resolve o problema, por isso acredito que ninguém pensou que valeria a pena criar um aplicativo ou uma maneira em volta disso.


3





Aqui está um hack que você provavelmente não vai gostar: D

Limpe a bandeja do sistema com o mouse ..

Add-Type -AssemblyName System.Windows.Forms $screen = [System.Windows.Forms.SystemInformation]::VirtualScreen $trayheight = $($screen.Height) -50 # maybe alter the height to suit your resolution $start = ($($screen.Width) / 5)*3 $start..$($screen.Width) | %{ [Windows.Forms.Cursor]::Position = "$_,$trayheight" }


-1