gpt4 book ai didi

c++ - 如何关闭应用程序,包括所有打开的子窗口,MFC

转载 作者:太空宇宙 更新时间:2023-11-04 11:41:44 27 4
gpt4 key购买 nike

我开发了一个应用程序,当用户使用鼠标和键盘没有做任何 Action 时,该应用程序会在一定时间后关闭。当我的应用程序主屏幕打开时,程序运行正常,程序无一异常(exception)地退出。在我的主屏幕打开并且单击主屏幕中的按钮的情况下,另一个对话框打开,并且用户没有从键盘或鼠标提供任何输入,在这种情况下应用程序关闭异常。这是代码。

void CMainFrame::OnTimer(UINT_PTR nIDEvent)
{
LASTINPUTINFO li;
li.cbSize = sizeof(LASTINPUTINFO);
::GetLastInputInfo(&li);
// Calculate the time elapsed in seconds.
DWORD te = ::GetTickCount();
int elapsed = (te - li.dwTime) / 1000;
TRACE(_T("\n%d"),elapsed);

if(m_nAutoLogOffTime < elapsed)
{
switch (m_nAutoLogOffTime)
{
case AUTO_LOGOF_1MIN:
PostMessage(WM_CLOSE);
break;
case AUTO_LOGOF_3MIN:
PostMessage(WM_CLOSE);
break;
case AUTO_LOGOF_10MIN:
PostMessage(WM_CLOSE);
break;
}

}


CFrameWnd::OnTimer(nIDEvent);
}

所以如果我在与 MainFrame 不同的窗口中,并且如果调用 PostMessage(WM_CLOSE) 则它会给出异常。所以我可以无一异常(exception)地关闭应用程序吗,即使另一个对话框是打开的。请帮我解决紧急问题。提前致谢。错误出现在 doccore.h请检查图像 enter image description here

最佳答案

ASSERT( AfxGetMainWnd()!=NULL );
AfxGetMainWnd()->SendMessage(WM_CLOSE);

关于c++ - 如何关闭应用程序,包括所有打开的子窗口,MFC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21113884/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com