首页 > 解决方案 > 更改 HWND 是否在运行时处于最顶层

问题描述

所以我有一个问题。

我怎样才能使我的 HWND 窗口在切换时位于最上面?

会不会像

    HWND Flags = HWND_TOPMOST;
    SetWindowPos(LOADER_HWND, Flags, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

    //
    if (toggle) Flags = HWND_NOTOPMOST;
    else Flags = HWND_TOPMOST;

我已经尝试过这样的事情,但它并没有使程序成为最重要的,我是否因为不更新窗口而做错了什么?

标签: c++winapi

解决方案


要使用 SetWindowPos 将窗口置于顶部,拥有该窗口的进程必须具有 SetForegroundWindow 权限

https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos

我想就是这样


推荐阅读