近几天在编写程序时,无意中发现个win7比较恶的问题
程序基于mfc的对话框应用程序,并且新建了一个窗口,在Oninitdialog中,用DoModal()方法弹出这个窗口
本来这个窗口是用作登录框使用,但是在w7的任务栏中的预览窗里,如果点击关闭窗口
,奇怪的问题就来了,居然直接退掉了我的DoModal窗口
没办法,开spy++最终,最终发现是发送了SC_CLOSE消息
BOOL CiMsnDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->wParam == SC_CLOSE)
return TRUE;
return CDialog::PreTranslateMessage(pMsg);
}
至此,就不怕登录框被w7关闭而显示后面的主窗口了