0

我正在尝试创建一个应用程序,使窗口(应用程序外部)在失去焦点时透明。大多数事情(获取窗口 id、设置透明等)都很容易,除了一件事 - 我如何挂钩窗口?

4

1 回答 1

1

您可以使用互操作。使用SendMessage()函数向您的窗口发送自定义消息。一旦您收到该消息以更改其透明度,该窗口就可以调用SetLayeredWindowAttributes() 。

另一件事是你真的应该能够通过监听WM_KILLFOCUS使窗口在失去焦点时变为透明

编辑:

锁定 C# 中的 Deactivate 和 Activated 事件。

    私人无效Form1_Deactivate(对象发送者,EventArgs e)
    {
      this.Opacity = 0.5 ;
    }

    私人无效Form1_Activated(对象发送者,EventArgs e)
    {
      this.Opacity = 1.0 ;
    }
于 2009-06-21T11:35:16.387 回答