質問

フォーカスを失ったときにウィンドウ(アプリの外部)を透明にするアプリケーションを作成しようとしています。ほとんどのこと(ウィンドウIDの取得、透明度の設定など)は簡単ですが、1つだけ-ウィンドウをフックするにはどうすればよいですか?

役に立ちましたか?

解決

相互運用機能を使用できます。 SendMessage()関数を使用してウィンドウを送信しますカスタムメッセージ。その後、ウィンドウは SetLayeredWindowAttributes()を1回呼び出すことができます。その透明性を変更するためにそのメッセージを受け取ります。

もう1つは、 WM_KILLFOCUS

編集:

C#のDeactivateおよびActivatedイベントにラッチします。

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

    private void Form1_Activated( object sender, EventArgs e )
    {
      this.Opacity = 1.0 ;
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top