【发布时间】:2014-07-30 18:17:46
【问题描述】:
我正在尝试使用 WinAPI 将任何打开的窗口置于前台。我已经尝试了许多不同的方法来实现这一点,但没有一个能完美地完成。我尝试过的方法包括使用AttachInputThread 的SwitchToThisWindow、BringWindowToTop、SetActiveWindow 和SetForegroundWindow,如果目标窗口被最小化,它们都会失败。最近,我尝试使用OpenIcon 和ShowWindow(使用 RESTORE 命令)来最小化窗口,但这也带来了一个问题,因为这两种方法都将窗口最小化为“正常”或“原始”无论在最小化之前是“正常”还是“最大化”的状态。
我能想到的当前解决方案是将最小化消息截获到任何打开的窗口并在最小化之前存储其状态并使用该存储状态恢复它。但是,这需要我加入我想要恢复的每个进程,而我真的不想这样做。
所以我的问题是,如何将窗口最小化到最小化之前的状态?
【问题讨论】: