【问题标题】:How can I hook multiple windows in C#?如何在 C# 中挂钩多个窗口?
【发布时间】:2009-06-21 11:24:41
【问题描述】:

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

【问题讨论】:

    标签: c# windows winforms hook transparent


    【解决方案1】:

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

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

    编辑:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      • 1970-01-01
      相关资源
      最近更新 更多