ShowWindow(SW_HIDE) Release版出错 为啥呢

ShowWindow(SW_HIDE) Release版报错 为啥呢
桌面广播的程序,接收到服务器端数据就显示如下代码
..........................................
if(!IsWindowVisible())
{
m_bHide=FALSE;
ShowWindow(SW_SHOW);
}
SetTimer(1,5000,NULL);// 5秒收不到数据就自动隐藏
.......................
收不到数据5秒种隐藏界面
void CScreenClientDlg::OnTimer(UINT nIDEvent) 
{
if(IsWindowVisible())
{
ShowWindow(SW_HIDE);
}
KillTimer(1);
CDialog::OnTimer(nIDEvent);
}
手动隐藏界面
void CScreenClientDlg::OnMenuitemExit() 
{

if(IsWindowVisible())
{

GetForegroundWindow()->ShowWindow(SW_HIDE);

}
}

调试没问题 发布成Release版就报错0x004298e1指令引用“0x0000007e9”内存。改内存不能为“read”。错误指向如下
BOOL CWnd::ShowWindow(int nCmdShow)
{
ASSERT(::IsWindow(m_hWnd));

if (m_pCtrlSite == NULL)
return ::ShowWindow(m_hWnd, nCmdShow);
else
return m_pCtrlSite->ShowWindow(nCmdShow);《--------------------指向这里nCmdShow为0
}
------解决思路----------------------
nCmdShow = 0;就是SW_HIDE

------解决思路----------------------
m_pCtrlSite 加一个 IsWindow的判断
------解决思路----------------------
引用:
怎么隐藏就报错

窗口句柄是否正确
------解决思路----------------------
::ShowWindow(this->m_hWnd,0);
你的报错原因是窗口句柄无效
------解决思路----------------------
GetForegroundWindow() 是否是空?
CWnd* pForeWnd = GetForegroundWindow();
if(pForeWnd)
{
  ....
}
------解决思路----------------------
引用:
Quote: 引用:

::ShowWindow(this->m_hWnd,0);
你的报错原因是窗口句柄无效


::ShowWindow(this->m_hWnd,SW_HIDE); 这样用后程序界面是消失,程序也自动关闭了 

//每5秒进行检测是否有数据
void CScreenClientDlg::OnTimer(UINT nIDEvent) 
{
::ShowWindow(this->m_hWnd,SW_HIDE);
KillTimer(1);
CDialog::OnTimer(nIDEvent);
}

不可能是关闭了,隐藏而已,看进程。
你把程序最小化就知道了
::ShowWindow(this->m_hWnd,SW_MINIMIZE);