Modificar o comportamento de um NotifyIcon com através de uma aplicação 3rd party

StackOverflow https://stackoverflow.com/questions/249319

  •  05-07-2019
  •  | 
  •  

Pergunta

Eu sempre fui curioso para ver se eu posso mostrar, ocultar ou alterar um NotifyIcon criado por outra aplicação através de uma aplicação C #.

Alguém poderia postar um exemplo de como fazer isso? :)

Foi útil?

Solução

Para modificar ícones na bandeja do sistema, você pode usar Shell_NotifyIcon API Win32 ( P / invocação declaração). Os ícones estão associados a um identificador de janela e um id. Isso significa que para modificar ou ocultar o ícone do outro programa, você precisa saber a janela eo id usado por esse aplicativo para registrá-lo. Você pode ser capaz de força bruta que por enumerar todas as janelas para esse processo e fazer chamadas com cada identificador e cada número entre 0 e 5000 milhares por exemplo, mas suas chances de sucesso são muito reduzidas.

Outras dicas

Você pode ligar janela em si o SystemTray interceptar todas as Shell_NotifyIcon) pedidos (. Então você vai saber as HWNDs e IDs exatas que são registrados para cada ícone. Detalhes podem ser encontrados através de qualquer motor de busca.

Eu não estou ciente de qualquer coisa, a menos que outro aplicativo expõe um método público, ou tentar usar a reflexão, mas eu nem tenho certeza que você pode fazer isso em um processo em execução.

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