【问题标题】:Restore Windows to Size They Were Previous to Being Minimized将 Windows 恢复到最小化之前的大小
【发布时间】:2014-07-30 18:17:46
【问题描述】:

我正在尝试使用 WinAPI 将任何打开的窗口置于前台。我已经尝试了许多不同的方法来实现这一点,但没有一个能完美地完成。我尝试过的方法包括使用AttachInputThreadSwitchToThisWindowBringWindowToTopSetActiveWindowSetForegroundWindow,如果目标窗口被最小化,它们都会失败。最近,我尝试使用OpenIconShowWindow(使用 RESTORE 命令)来最小化窗口,但这也带来了一个问题,因为这两种方法都将窗口最小化为“正常”或“原始”无论在最小化之前是“正常”还是“最大化”的状态。

我能想到的当前解决方案是将最小化消息截获到任何打开的窗口并在最小化之前存储其状态并使用该存储状态恢复它。但是,这需要我加入我想要恢复的每个进程,而我真的不想这样做。

所以我的问题是,如何将窗口最小化到最小化之前的状态?

【问题讨论】:

    标签: c# winapi


    【解决方案1】:

    您的解决方案是正确的。您必须存储窗口大小,以便您可以将其“重构”为相同的大小。如果您希望它看起来正确,您还应该存储位置和大小。如果您不这样深入研究,那么大部分内容都是抽象的。

    【讨论】:

    • 如果可以的话,我可以将其抽象化。有没有办法在不使用 WinAPI 的情况下在应用程序之外操作窗口?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    相关资源
    最近更新 更多