【发布时间】:2014-03-04 14:50:35
【问题描述】:
我创建了简单的handler inside my QApplication:
bool QtMyApplication::winEventFilter ( MSG * msg, long * result ){
switch(msg->message) {
case WM_CLOSE:{
qDebug() << "Haha Not killing appp =)";
*result = 0;
return true;
break;
}
}
return false;
}
然后我启动了我的应用程序,打开了任务管理器,在我的 qt 应用程序上调用了 End Task,并在几秒钟内收到了消息:
在我的QMainWindow 上实施QWidget WinEvent 也得到了相同的结果:
bool QMyMainWindow::winEvent(MSG *message, long *result)
{
switch(message->message) {
case WM_CLOSE:{
qDebug() << "Haha Not killing appp =)";
*result = 0;
return true;
break;
}
}
return QMainWindow::winEvent(message, result);
}
笔记应用程序和任务管理器从AdministratorWindows Server 8 r2启动
所以我想知道如何处理任务管理器在QApplication 或QMainWindow 上发送的WM_CLOSE 以使End Programm 消息不会显示?
【问题讨论】:
-
@ratchetfreak:我只想向用户显示我的窗口(允许在退出之前保存文件等)!
标签: c++ windows qt qt4 signals