Easy. One API call. This function wraps that API call for convenience, allowing you to make the window topmost, or remove the topmost attribute with a single call. Remember that topmost windows occupy their own z-order : so if you make A topmost, then B, window B will appear on top of window A.
BOOL MakeWindowTopMost (HWND hWnd, BOOL bTopMost)
{
if (hWnd)
{
return (SetWindowPos (hWnd,
(HWND)(bTopMost?HWND_TOPMOST:HWND_NOTOPMOST),
0,0,0,0,
SWP_NOMOVE | SWP_NOSIZE)) ;
}
else
return FALSE ;
}