RETIRAR ICONE DA BANDEJA APÓS KILL PROCESS

NILSONTRES 12/08/2015 10:00:09
#449841
Utilizo um NotifyIcon para colocar um icone na bandeja de um executável, mas se eu encerro esse executável através de outro executável via process.kill, esse icone ainda permance na bandeja, isso mesmo após o exe ser encerrado e só desaparece ao passar o mouse sobre ele.
Alguém sabe como encerrar o .exe via process.kiil e também limpar a bandeja ao mesmo tempo ?
NILSONTRES 12/08/2015 10:19:52
#449842
Acabei de fazer mais uma pesquisa e as informações são que isso é um problema do windows mesmo, deram como como exemplo o outlook que acontece a mesma coisa, mas espero um pouco mais.
OCELOT 12/08/2015 10:56:21
#449845
O programa que cria o ícone é responsável por remover ele, se o programa é finalizado pelo Kill ele não tem como remover o ícone, pois o Kill simplesmente mata o processo não permitindo ele executar nenhum código mais, ficando assim o ícone lá.

O que acontece quando se passa o mouse no ícone e ele some na verdade é o Explorer tentando informar a janela do programa que estão interagindo com o ícone e então ele detecta que a janela já não existe mais, e quando ele detecta que ela não existe mais ele remove o ícone.

Então quando o ícone fica lá eu não diria que é um problema do Windows e sim do programa que foi finalizado de forma indevida.
NILSONTRES 13/08/2015 13:43:33
#449922
Certinho OCELOT,
Então, eu queria identificar e remover assim como o explorer faz.
Identificar normal, mas como remover ele dali ?.
OCELOT 13/08/2015 14:48:26
#449932
Resposta escolhida
Não tem como você remover ele, só o programa que criou ele consegue remover. O Explorer consegue remover quando identifica que o programa não está mais rodando porque é o Explorer que está exibindo o ícone.

Não existe nenhuma forma oficial de se fazer isso, provavelmente se encontrar algo vai ser através da API FindWindowEx para encontrar o handle do controle que exibe os ícones e tentar modificá-lo diretamente, mas isso é basicamente uma gambiarra que pode nem funcionar da mesma forma em versões diferentes do Windows ou até mesmo no caso do ícone estar visível ou oculto na bandeja.
Tópico encerrado , respostas não são mais permitidas