DTI*_*att 3 .net c# pinvoke window
我们正在使用 SetWindowPos 来设置窗口的位置,并且效果很好。
我对它唯一的疑虑是,如果我们正在移动的窗口最大化,那么它会移动并变成合适的大小,但是,它仍然会认为自己处于最大化状态,并继续显示“恢复“ 按钮。
有没有办法在调用 SetWindowPos 后告诉该窗口替换最大化按钮?
另请注意:这些窗口不一定是 Windows 窗体窗口,也可能是资源管理器、Chrome、Firefox、记事本等应用程序。
这是我们对 SetWindowPos 的调用:
PInvokeMethods.SetWindowPos(
hwnd, 0,
position.Left + x, position.Top + y, position.Width, position.Height,
PInvokeMethods.SWP_NoZOrder | PInvokeMethods.SWP_NoActivate);
如果您想在一次调用中设置状态和位置,可以使用SetWindowPlacementAPI。
首先,您将调用GetWindowPlacement以WINDOWPLACEMENT使用当前值填充结构。然后您将修改showCmd和rcNormalPosition成员。然后你会在SetWindowPlacement.