在 Windows 中设置暗模式后重绘标题栏

ste*_*225 5 c++ winapi

我正在使用以下库调用将窗口更改为暗模式:

BOOL dark = TRUE;
DwmSetWindowAttribute(hwnd, DWMWA_USE_IMMERSIVE_DARK_MODE, &dark, sizeof(dark));
Run Code Online (Sandbox Code Playgroud)

这可行,但有一个小警告。标题栏不会更新,直到发生一些其他事件,例如最大化、失去焦点、调整大小等(但不移动窗口)。

我尝试UpdateWindow过大量的标志组合,RedrawWindow但没有成功。如何强制标题栏重绘?

编辑我能够通过以编程方式调整窗口大小,然后将其重置为以前的大小来强制重置。但这似乎是一个糟糕的方法。必须有一个适当的解决方案。