gpt4 book ai didi

windows - 当我的应用程序最大化时,自动隐藏任务栏不出现

转载 作者:可可西里 更新时间:2023-11-01 09:22:40 32 4
gpt4 key购买 nike

我的应用程序绘制了它自己的所有窗口边框和装饰。它适用于设置为自动隐藏的 Windows 任务栏,除非我的应用程序窗口最大化。任务栏不会“卷起”。如果我没有最大化应用程序,它会正常运行,即使一直调整到屏幕底部也是如此。如果我只是调整窗口大小以占据整个显示(就好像它已最大化),它甚至可以正常工作。

最佳答案

我发现了问题。我的应用程序正在处理 WM_GETMINMAXINFO 消息,并正在覆盖参数 MINMAXINFO 记录中的值。记录中的值被放大了屏幕像素分辨率的 7(边框宽度)。这是有道理的,因为当最大化时,它将窗口的边界推到屏幕的可见部分之外。它还将 ptMaxPosition(最大化时窗口原点设置的点)设置为 -7、-7。我的应用程序将其设置为 0,0,并将最大高度和宽度设置为屏幕分辨率大小(未膨胀)。不确定为什么这样做;它是前任写的。如果我注释掉该代码并且不修改 MINMAXINFO 结构,则自动隐藏会起作用。

至于为什么,我不完全确定。弹出“自动隐藏”任务栏的检测可能 Hook 到处理 WM_MOUSEMOVE 消息的机制,而不是 WM_NCMOUSEMOVE。由于我的应用程序导致最大化将我的边框停在屏幕底部,我会生成 WM_NCMOUSEMOVE 事件;单独留下 MINMAXINFO,我会生成 WM_MOUSEMOVE。

关于windows - 当我的应用程序最大化时,自动隐藏任务栏不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/137005/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com