From 78f31c67d71ee743f022dd6f5930abae6f6d54f9 Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <zhaoyuhang@rankyee.com> Date: 周二, 19 12月 2023 16:43:17 +0800 Subject: [PATCH] update readme --- src/core/contexts/win32windowcontext.cpp | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp index 8af6a3f..9b3e179 100644 --- a/src/core/contexts/win32windowcontext.cpp +++ b/src/core/contexts/win32windowcontext.cpp @@ -812,6 +812,26 @@ return; } + case RaiseWindowHook: { + if (m_windowHandle->windowStates() & Qt::WindowMinimized) + m_windowHandle->showNormal(); + + auto hWnd = reinterpret_cast<HWND>(windowId); + + // I have no idea what this does, but it works mostly + // https://www.codeproject.com/Articles/1724/Some-handy-dialog-box-tricks-tips-and-workarounds + + ::AttachThreadInput(::GetWindowThreadProcessId(::GetForegroundWindow(), nullptr), + ::GetCurrentThreadId(), TRUE); + + ::SetForegroundWindow(hWnd); + ::SetFocus(hWnd); + + ::AttachThreadInput(GetWindowThreadProcessId(GetForegroundWindow(), nullptr), + GetCurrentThreadId(), FALSE); + return; + } + case ShowSystemMenuHook: { const auto &pos = *static_cast<const QPoint *>(data); auto hWnd = reinterpret_cast<HWND>(windowId); -- Gitblit v1.9.1