gpt4 book ai didi

c# - SetWindowPos 不改变最大化状态

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:40 29 4
gpt4 key购买 nike

我们很好地使用了 SetWindowPos 来设置窗口的位置并且效果很好。

我唯一的疑虑是,如果我们正在移动的窗口最大化,那么它会移动并变成合适的大小,但是,它仍然认为自己处于最大化状态,并继续显示“恢复”按钮。

有没有办法在调用 SetWindowPos 后告诉该窗口替换最大化按钮?

另请注意:这些窗口不一定是 Windows 窗体窗口,但可以是 Explorer、Chrome、Firefox、Notepad 等应用程序。

这是我们对 SetWindowPos 的调用:

PInvokeMethods.SetWindowPos(
hwnd, 0,
position.Left + x, position.Top + y, position.Width, position.Height,
PInvokeMethods.SWP_NoZOrder | 调用方法PInvokeMethods.SWP_NoActivate);

最佳答案

如果你想在单个调用中设置状态和位置,有 SetWindowPlacement API。

首先,您将调用 GetWindowPlacement 来填写 WINDOWPLACEMENT具有当前值的结构。然后您将修改 showCmdrcNormalPosition 成员。然后您将在 SetWindowPlacement 处触发修改后的结构。

关于c# - SetWindowPos 不改变最大化状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14261843/

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