1

我在 Windows 7 中有一个 C# Windows Forms 程序,但我认为它适用于任何 Windows 程序。

我的程序的主窗体覆盖了整个屏幕,并设置了 Topmost 属性。但是,例如,当我单击“开始”键打开“开始”菜单时,任务栏和“开始”菜单会显示在“始终位于顶部”表单的顶部。

当发生这种情况并且我的表单/窗口不再是最顶层的窗口(或 Z 顺序的顶部)时,是否有窗口消息 (WM_) 发送到我的表单/窗口?我想用 WndProc 来捕捉它。

谢谢

4

2 回答 2

2

我认为阅读 Raymond Chen 他的博客文章是明智的,虽然这感觉只是一个有趣的故事,但要非常非常认真地对待它。

引用:“当两个程序像这样“对决”时,你无法预测哪一个会赢,但你可以100%肯定地预测谁会输:用户。”

于 2012-01-21T16:07:03.500 回答
1

正如rene在上面的帖子中所说,如果超过 1 个应用程序将使用相同的逻辑,这将是一个竞争条件,但如果你仍然想这样做,我认为看看Form.Deactivated会很好开始。

于 2012-01-23T00:59:06.347 回答