C# ToolWindow不支持';我似乎不尊重阿帕

C# ToolWindow不支持';我似乎不尊重阿帕,c#,winforms,appbar,C#,Winforms,Appbar,因此,我有一个应用程序,它使用ShappArmMessage winapi调用注册AppBar,在屏幕顶部放置一个新的条,并防止其他应用程序占用该空间,类似于系统任务栏(默认情况下)在屏幕底部的方式 一切都很好——直到用户尝试最大化其FormBorderStyle设置为FixedToolWindow或SizableToolWindow的窗口,在这种情况下,工具窗口隐藏在AppBar下。我注意到工具窗口甚至被塞进了系统任务栏下(注意第二个屏幕截图底部的红色框),这样你就看不到它们的底部,所以我担心

因此,我有一个应用程序,它使用ShappArmMessage winapi调用注册AppBar,在屏幕顶部放置一个新的条,并防止其他应用程序占用该空间,类似于系统任务栏(默认情况下)在屏幕底部的方式

一切都很好——直到用户尝试最大化其FormBorderStyle设置为FixedToolWindow或SizableToolWindow的窗口,在这种情况下,工具窗口隐藏在AppBar下。我注意到工具窗口甚至被塞进了系统任务栏下(注意第二个屏幕截图底部的红色框),这样你就看不到它们的底部,所以我担心工具窗口无法像普通窗口一样工作,但我想我会问

下面是一个AppBar的快速示例(不是我的代码,而是一个重新创建问题的应用程序。不幸的是,它在VB中,但是直接剪切并粘贴到表单代码中非常简单)

如果运行该命令,然后使用固定/大小的ToolWindow边框样式创建另一个空项目,并尝试最大化该样式,您将看到问题。在附带的屏幕截图中,我注意到我放在角落里的红色框被部分隐藏了——不尊重AppBar屏幕空间保留。 注意:我已经在处理全屏应用程序(如mstsc、全屏视频等)也会隐藏在我的appbar下的事实,但在这种情况下,Windows本身会向窗口发送一条ABN_FULLSCREENAPP消息,说“嘿,有一个全屏应用程序正在运行”,在这种情况下,我可以隐藏我的应用程序。(请参阅)对于工具窗口,似乎不存在这样的消息。这至少是一个解决办法,但并不理想

注:我不能更改工具窗口本身,因为这些窗口来自其他应用程序,我希望找到一些方法让它们更好地与我的AppBar应用程序配合使用