我在Windows7中有一个C#Windows窗体程序,但我认为它适用于任何Windows程序。
我的程序的主要形式覆盖了整个屏幕,并设置了Topmost属性。但是,例如,当我单击开始键打开开始菜单时,任务栏和开始菜单会显示在我的"始终在顶部"窗体的顶部。
当这种情况发生时,是否有窗口消息(WM_)发送到我的窗体/窗口,并且我的窗体或窗口不再是最上面的窗口(或Z顺序的顶部)?我想用WndProc捕捉它。
感谢
我认为阅读Raymond Chen的博客文章是明智的,尽管这感觉只是一个有趣的故事,但要非常、非常认真。
引用:"当两个程序像这样"决一胜负"时,你无法预测哪一个会赢,但你可以100%确定地预测谁会输:用户。"
正如rene在上面的帖子中所说,如果有1个以上的应用程序要使用相同的逻辑,这将是一个竞争条件,但如果你仍然想这样做,我认为看看Form。停用将是个好的开始。