我創建簡單handler inside my QApplication:如何在winEventFilter上取消WM_CLOSE?
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應用程序,並在fiew秒叫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);
}
注意應用程序和任務管理器從Administrator
上Windows Server 8 r2
所以開始我不知道如何處理WM_CLOSE
通過任務管理器上QApplication
或QMainWindow
發送,從而不會顯示End Programm
消息?
@ratchetfreak:我要的是展現給用戶我的窗口(允許保存文件退出等之前)! – DuckQueen