Pergunta

Este é o meu primeiro post sobre estouro de pilha e eu só estou querendo saber sobre as opções de fazer uma aplicação da bandeja do sistema. A aplicação seria executado principal da bandeja do sistema, enquanto ainda em funcionamento, e pode ser levantada em uma janela quando clicado. Ele também é necessário ter algum apoio para o acompanhamento keystroke global, para abrir uma janela.

Estou curioso sobre o que opções eu tenho disponível para mim, como eu tenho certeza que existem muitas maneiras de fazer isso. Eu estou mais familiarizado com Java que eu tenha alguma experiência com C ++. Eu estou disposto a explorar outras línguas, se eles têm algumas vantagens concretas para eles, apesar de que seria bom trabalhar com o que eu sei de uma forma.

Obrigado

Foi útil?

Solução

Java 6 tem uma nova funcionalidade que permite a criação de aplicações que utilizam bandeja do sistema.

O New System Tray funcionalidade em Java SE 6 artigo entra em detalhes, e fornece um código de exemplo também.

O recém-adicionado SystemTray TrayIcon classes da java.awt pacote pode ser usado para adicionar ícones para o bandeja do sistema. Os ícones podem responder a cliques do mouse e usar menus pop-up também. No entanto, esta nova funcionalidade é uma parte do AWT, por isso não faz um trabalho muito bom integração com componentes Swing.

Aqui está um exemplo de um pequeno relógio que aparece na bandeja do sistema que foi feito usando as classes SystemTray e TrayIcon em Java 6:

application relógio na bandeja do sistema em Java
(fonte: coobird.net )

Outras dicas

Winforms velho liso iria receber o meu voto.

Se você está familiarizado com Java você deve ter pouca dificuldade em utilizar uma das línguas conseguiram criar um aplicativo de bandeja simples com .NET.

Aqui estão alguns conselhos sobre a maneira correta de criar um aplicativo bandeja.

Tenha cuidado com aplicações manged e Java aqui. aplicações bandeja correr o tempo todo. Então, se eles são mal escritos, em seguida, eles podem usar recursos de sistema suficientes para interferir com outras coisas.

Não há nada de errado com código manged ou Java em geral, mas pode ser mais difícil manter gerenciado ou java aplicativos frugal com a memória, I / O e tempo de CPU.

Eu estou dizendo isso como uma manjedoura dev em Windows perf equipe - temos visto muitas e muitas aplicações muito bandeja piggy. Sim, alguns são até mesmo janelas ou aplicações MSFT.

Pode ser uma abordagem melhor para escrever um aplicativo de bandeja peso leve muito pequena que inicia um processo mais rico quando o usuário precisa. Você pode escrever seu aplicativo tentativa em simples C ++ bem em cima do baixo nível Win32 APIs. Se você não quiser usar as APIs do Win32 diretamente, você pode usar o Windows Template Library .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top