在Windows中,我有一个最小化的窗口,它是前景窗口(GetForegroundWindow)。我现在想要取消窗口的最小化,使其再次可见。如何将窗口恢复到以前的状态?即,如果窗口在最小化之前被“恢复”,则应该恢复,如果在最小化之前它被最大化,它应该再次最大化,特别是不能恢复或者其他东西。
似乎我只能从{最小化,恢复,最大化}中确定窗口的当前状态,但理论上,最小化和最大化应该是可以一起设置的标志。
如果用户点击它,资源管理器任务栏如何知道显示窗口的状态?
答案 0 :(得分:1)
如果使用类似C的东西,可以查看ShowWindow函数:
ShowWindow(hWnd, SW_RESTORE)
<强> SW_RESTORE 强>
激活并显示 窗口。如果窗口最小化或 最大化,系统恢复它 它的原始大小和位置。一个 应用程序应指定此标志 恢复最小化窗口时。
答案 1 :(得分:0)
如果没有技术(我不知道您使用的语言),程序需要存储当前的正常大小,当前状态和以前的状态。
然后从最小化恢复时,可以检查以前的状态和大小。
在WPF中,当前大小和状态存储在主窗口的Top
,Left
,Height
,Width
和WindowState
属性中。位置和大小的副本保存在RestoreBounds
结构中,例如,从Maximized恢复窗口时,基类会使用它(因此您不必这样)。