我正在开发一个应用程序,只需按一下按钮就可以隐藏并显示桌面上的所有窗口,让它们脱离困境。问题在于,当我展示它们时,它们并不像我隐藏它们那样处于正确的Zorder状态。有没有办法获得Zorder并以正确的顺序显示它?我正在使用Win7 64.我正在使用它来隐藏/显示:
ShowWindow(hwnd, SW_HIDE); // hide
ShowWindow(hwnd, SW_SHOWNA); // show
答案 0 :(得分:1)
使用这些功能来保持z顺序
SetWindowPos(hwnd,NULL,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_HIDEWINDOW);
SetWindowPos(hwnd,NULL,0,0,0,0,SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER|SWP_SHOWWINDOW);
虽然更好的方法是最小化窗口(仅查找标签窗口)。您必须使用SW_MAXIMIZE
跟踪需要恢复的窗口以及需要使用SW_RESTORE
恢复的窗口。您可以使用GetWindowPlacement
来检查窗口的可见性。