2009-06-21 5 views
0

포커스를 잃을 때 창 (외부 앱)을 투명하게 만드는 응용 프로그램을 만들려고합니다. 대부분의 것들 (윈도우 ID를 얻거나 투명하게 설정하는 등)은 한 가지를 제외하고는 쉽습니다 - 어떻게 윈도우를 연결합니까?C#에서 여러 창을 연결하려면 어떻게해야합니까?

+0

이것은 WinForms라고 가정합니다 ... – Noldorin

+0

@ Noldorin // 예 – Moon

답변

1

interop을 사용할 수 있습니다. SendMessage() 함수를 사용하여 창에 맞춤 메시지를 보내십시오. 그러면 투명성을 변경하기 위해 해당 메시지를받은 후 창을 SetLayeredWindowAttributes()으로 호출 할 수 있습니다.

래치를 C#에서 비활성화 및 활성화 이벤트에 :

다른 점은 WM_KILLFOCUS

EDIT를 수신하여 포커스를 잃으면 당신이 정말로 창이 투명 자체를 회전 할 수 있어야한다.

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

    private void Form1_Activated(object sender, EventArgs e) 
    { 
     this.Opacity = 1.0 ; 
    } 
관련 문제