VC++ 判断你的窗口是否置顶TopMost

  大家可能已经知道,使你的窗口置顶(TopMost)或者总是最前(Always on Top)的方法:

 C++ Code 
1
2
3
4
5
 
// Make topmost
::SetWindowPos(hwnd, HWND_TOPMOST0000SWP_NOMOVE SWP_NOSIZE);
 
// Revert back
::SetWindowPos(hwnd, HWND_NOTOPMOST0000SWP_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

posted on 2017-11-09 12:01  我来乔23  阅读(4545)  评论(0编辑  收藏  举报

导航