大家可能已经知道,使你的窗口置顶(TopMost)或者总是最前(Always on Top)的方法:
C++ Code
1
2 3 4 5 |
// Make topmost
::SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); // Revert back ::SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); |
但是,你如何决定自己的窗口是否为TopMost状态?哈哈,可以这样来做:
C++ Code
1
2 3 4 5 6 7 8 |
if (::GetWindowLong(hwnd, GWL_EXSTYLE) & WS_EX_TOPMOST)
{ ... // The window is topmost. } else { ... // The window is not topmost. } |
解释:当SetWindowsPos()使窗口TopMost时,也同时为窗口提供了
WS_EX_TOPMOST
扩展样式。.
出处:https://www.codeproject.com/Tips/269140/How-to-determine-if-your-window-is-topmost