Pergunta

Estou tentando criar um aplicativo que torne uma janela (externa ao aplicativo) transparente quando ele perde o foco. A maioria das coisas (obtendo ID da janela, definir transparente etc.) seria fácil, exceto uma coisa - como faço para conectar o Windows?

Foi útil?

Solução

Você pode usar o Interop. Usar Enviar mensagem() função para enviar sua janela uma mensagem personalizada. A janela pode então ligar SetLayeredwindowattributes () Depois de receber essa mensagem para alterar sua transparência.

A outra coisa é que você realmente deve ser capaz de fazer a janela se tornar transparente quando perde o foco ouvindo para Wm_killfocus

EDITAR:

Aperte os eventos desativados e ativados em C#.

    private void Form1_Deactivate( object sender, EventArgs e )
    {
      this.Opacity = 0.5 ;
    }

    private void Form1_Activated( object sender, EventArgs e )
    {
      this.Opacity = 1.0 ;
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top