Domanda

Sto cercando di creare un'applicazione che renda trasparente una finestra (esterna all'app) quando perde lo stato attivo. La maggior parte delle cose (ottenere l'ID di finestra, impostare trasparente, ecc.) Sarebbe facile, tranne una cosa: come posso agganciare Windows?

È stato utile?

Soluzione

È possibile utilizzare l'interoperabilità. Utilizza la SendMessage () per inviare la tua finestra un messaggio personalizzato. La finestra può quindi chiamare SetLayeredWindowAttributes () una volta ricevi quel messaggio per cambiarne la trasparenza.

L'altra cosa è che dovresti davvero essere in grado di rendere trasparente la finestra ITSELF quando perde la messa a fuoco ascoltando WM_KILLFOCUS

EDIT:

Aggancia gli eventi Disattiva e Attivato in 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 ;
    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top