我们正在开发一个“仪表板”应用程序,它基本上“总是在最前面”并且以一种令人讨厌的方式卡在屏幕的左侧。 (这是一个内部公司应用程序,而不是世界将受到然后断然拒绝的东西)
我的问题:是否有某种方法可以让其他应用程序窗口像对待任务栏一样对待我的应用程序窗口? IE 当有人最大化应用程序时它不会在我的应用程序后面最大化?
我们已经可以将其保持在顶部,但我认为如果我们在他们最大化时切断 1/8 的应用程序窗口,那将会非常烦人。
我们目前正在用 C++/Qt 编写此代码并面向 Win7/Win8。
谢谢!
最佳答案
更新: 执行此操作的最佳方法是使用 AppBar API,如@andrewMedico 的评论所述。这将确保系统知道应用栏,并确保您正确停靠在屏幕上并且不会与任务栏或其他应用栏重叠。
在 XP 中,您正在寻找的东西称为“Desk Band”。
不幸的是,这在 Windows 7 中已被弃用。我不知道它是否有效。
或者,在 Vista 和 WIndows 7 中,您可以使用小工具栏上的小工具。
其工作的基本方式是调用 SystemParametersInfo(SPI_SETWORKAREA)
。这告诉系统“最大空间”在哪里。如果您没有使用推荐的 AppBar API,您将需要偶尔检查(或获取通知)任何其他程序何时更改工作区,以确保您得到适应。
关于c++ - Windows:最大化周围/像任务栏一样对待我的窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26016897/