VC++ 判断你的窗口是否置顶TopMost
大家可能已经知道,使你的窗口置顶(TopMost)或者总是最前(Always on Top)的方法:
// 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状态?哈哈,可以这样来做:
if (::GetWindowLong(hwnd, GWL_EXSTYLE) & WS_EX_TOPMOST)
{
... // The window is topmost.
}
else
{
... // The window is not topmost.
}
解释:当SetWindowsPos()使窗口TopMost时,也同时为窗口提供了 WS_EX_TOPMOST 扩展样式。.