过滤窗口最小化事件

例子:

代码语言:javascript代码运行次数:0运行复制```javascript

include

include

include

include windows.h>

class NativeFilter : public QAbstractNativeEventFilter { bool nativeEventFilter(const QByteArray &eventType, void message, long result) { MSG msg = static_cast>(message); / 拦截点击最小化按钮触发的最小化事件 / if (msg->message == WM_NCLBUTTONDOWN && msg->wParam == HTREDUCE) return true; / 拦截通过任务栏图标触发的最小化事件 / if (msg->message == WM_SYSCOMMAND && msg->wParam == SC_MINIMIZE) return true; return false; } };

int main(int argc, char *argv) { QApplication a(argc, argv); a.installNativeEventFilter(new NativeFilter); / 禁用QWidget的窗口最小化功能 */ QWidget w; w.show(); return a.exec(); }