Minimizar aplicação no System Tray

Alguns programas que utilizamos em nossos computadores, quando minimizados, eles não ficam na barra de tarefas, eles vão direto para o System Tray. Mas o que é o System Tray?

O System Tray faz parte da barra de tarefas. Geralmente está localizado no canto inferior direito da tela, cujo contém diversos ícones para a facilidade de acesso em algumas funções, por exemplo o volume do computador, antivírus, conexão de bluetooh, conexão de rede/internet e o relógio (com data e hora). Um duplo clique nesses ícones, permite que o programa abra a sua tela principal ou permite que seja feito alguma outra opção (ajustes, configurações).

A primeira vez que o System Tray foi visto, no sistema operacional Windows, foi na versão Windows 95 e desde então não foi mais retirado.

Para que a sua aplicação fique localizada no System Tray, quando minimizada, é necessário utilizar um componente chamado NotifyIcon, que é um componente responsável por exibir notificações ao usuário.

Como esse componente não é visual, é apenas para controle, ele não fica exposto na tela, ele fica exposto na área abaixo da tela.

Como padrão, esse componente deve estar com a propriedade VISIBLE igual a FALSE quando a aplicação for iniciada. Caso for TRUE, esse componente já estará visível no System Tray quando a aplicação for iniciada e a tela visível ao usuário. Ele contém algumas propriedades importantes que devem ser conhecidas, para todas as informações serem exibidas corretamente. É possível verificar as propriedades na imagem abaixo.

Para entender melhor o que colocar em cada propriedade, segue uma simples explicação:

BalloonTipIcon: define qual o ícone que será exibido na mensagem quando a aplicação for minimizada, que pode ser uma informação, um alerta, um erro ou não exibir nenhum ícone;

BalloonTipText: é o texto exibido logo após a aplicação ser minimizada;

BalloonTipTitle: é o título da mensagem exibida logo após a aplicação ser minimizada;

Icon: define qual será o ícone para exibir quando a aplicação estiver minimizada no System Tray;

Text: é o texto exibido quando a aplicação já foi minimizada e está no System Tray.

Agora com essas informações, é possível codificar no evento Resize do formulário para que quando a aplicação for minimizada, ela fique no System Tray. Veja na imagem abaixo como é feito esse código.

Porém a aplicação também pode ser aberta novamente quando o usuário disparar um clique duplo em cima do ícone de notificação. Para verificar como esse código é feito, veja a imagem abaixo.

Depois de codificado, é só conferir o resultado!

Como exemplo, segue as duas imagens abaixo, sendo a primeira após a minimização da aplicação e, a segunda, quando a aplicação já estiver no System Tray.