diff --git a/src/FluFramelessHelper.cpp b/src/FluFramelessHelper.cpp
index 910eaa8d..3bdad22c 100644
--- a/src/FluFramelessHelper.cpp
+++ b/src/FluFramelessHelper.cpp
@@ -165,13 +165,16 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *
     }else if(uMsg == WM_NCACTIVATE){
         *result = ::DefWindowProcW(hwnd, WM_NCACTIVATE, wParam, -1);
         return true;
-    }else if(uMsg == WM_GETMINMAXINFO){
+    }else if(uMsg == WM_GETMINMAXINFO && QT_VERSION < QT_VERSION_CHECK(6,0,0)){
         MINMAXINFO* minmaxInfo = reinterpret_cast<MINMAXINFO *>(lParam);
-        auto pixelRatio = _helper->window->devicePixelRatio();
-        auto geometry = _helper->window->screen()->availableGeometry();
-        minmaxInfo->ptMaxSize.x = geometry.width()*pixelRatio + offsetXY.x() * 2;
-        minmaxInfo->ptMaxSize.y = geometry.height()*pixelRatio + offsetXY.y() * 2;
-        return false;
+        RECT rect;
+        SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
+        int cx = rect.right - rect.left + offsetXY.x()*2;
+        int cy = rect.bottom - rect.top + offsetXY.y()*2;
+        minmaxInfo->ptMaxPosition.x = rect.left - offsetXY.x();
+        minmaxInfo->ptMaxPosition.y = rect.top - offsetXY.x();
+        minmaxInfo->ptMaxSize.x = cx;
+        minmaxInfo->ptMaxSize.y = cy;
     }else if(uMsg == WM_NCRBUTTONDOWN){
         if (wParam == HTCAPTION) {
             _helper->showSystemMenu(QCursor::pos());