1.定义一个CRect保存启动后窗口大小。

 m_rect

2.在OninitDialog事件里写下如下代码

GetWindowRect(& m_rect); 
WINDOWPLACEMENT wp;

wp.length=sizeof(WINDOWPLACEMENT);

wp.flags=WPF_RESTORETOMAXIMIZED;
wp.showCmd=SW_HIDE; SetWindowPlacement(&wp);
//设一个定时器,隐藏之后要回复原来的状态,或者在现实窗口的时间里回复也可以,
SetTimer(6,1,NULL);

 3.Timer事件


//恢复原来大小
// SWP_HIDEWINDOW是隐藏选项,SWP_SHOWWINDOW好像是现实的选项。
SetWindowPos(&wndNoTopMost, m_rect.left, m_rect.top, m_rect.right, m_rect.bottom, SWP_HIDEWINDOW);
KillTimer(6);
-----------------------------------------------------------------
注:移动窗口到右下角代码
void MoveToRightCorner(void)
{
RECT rcWorkArea;
//获得客户可用工作区
if ( SystemParametersInfo(SPI_GETWORKAREA,0,&rcWorkArea,0))
{
CRect rcWindow;
GetWindowRect(rcWindow);
//获得移动到右下角的区域
CRect rcMoveRect;
rcMoveRect.left = rcWorkArea.right - rcWindow.Width();
rcMoveRect.right = rcWorkArea.right;
rcMoveRect.top = rcWorkArea.bottom - rcWindow.Height();
rcMoveRect.bottom= rcWorkArea.bottom;
MoveWindow(rcMoveRect);
}
}