A程序让B程序窗口恢复到最小化以前的状态!该怎么处理
A程序让B程序窗口恢复到最小化以前的状态!
A程序已获取到B窗口的句柄,用下面的语句让还原到最小化以前的状态:
::ShowWindow(hWnd, SW_SHOW//SW_RESTORE,SW_SHOWNA,SW_SHOWNOACTIVATE,SW_SHOWNORMAL);
B窗口先前处于最大化状态,然后最小化,上面程序结果让B窗口恢复到还原状态,如何才能还原到最大化状态呢?注意,肯定不能用SW_SHOWMAXIMIZED,因为如果窗口最小化以前本身就处理还原状态呢?
我要的结果是还原到最小化以前的状态。相当于在状态栏上点鼠标,此时窗口被还原,还原的状态是最小化以前的状态。
------解决方案--------------------
OpenIcon
------解决方案--------------------
::SendMessage(hWnd, WM_SYSCOMMAND,SC_RESTORE,0);
------解决方案--------------------
if(GetWindowLong(hWnd, GWL_STYLE)&WS_MAXIMIZE) ShowWindow(hWnd, SW_SHOWMAXIMIZED);
else OpenIcon(hWnd);
------解决方案--------------------
SW_SHOWNOACTIVATE 消息
SW_SHOWNOACTIVATE
Displays a window in its most recent size and position. The active window remains active.
然后再 ACTIVATE 它(给它焦点)
A程序已获取到B窗口的句柄,用下面的语句让还原到最小化以前的状态:
::ShowWindow(hWnd, SW_SHOW//SW_RESTORE,SW_SHOWNA,SW_SHOWNOACTIVATE,SW_SHOWNORMAL);
B窗口先前处于最大化状态,然后最小化,上面程序结果让B窗口恢复到还原状态,如何才能还原到最大化状态呢?注意,肯定不能用SW_SHOWMAXIMIZED,因为如果窗口最小化以前本身就处理还原状态呢?
我要的结果是还原到最小化以前的状态。相当于在状态栏上点鼠标,此时窗口被还原,还原的状态是最小化以前的状态。
------解决方案--------------------
OpenIcon
------解决方案--------------------
::SendMessage(hWnd, WM_SYSCOMMAND,SC_RESTORE,0);
------解决方案--------------------
if(GetWindowLong(hWnd, GWL_STYLE)&WS_MAXIMIZE) ShowWindow(hWnd, SW_SHOWMAXIMIZED);
else OpenIcon(hWnd);
------解决方案--------------------
SW_SHOWNOACTIVATE 消息
SW_SHOWNOACTIVATE
Displays a window in its most recent size and position. The active window remains active.
然后再 ACTIVATE 它(给它焦点)