Как вывести окно другого приложения на передний план, не активируя его?

Я хочу вывести на передний план окно (из другого приложения). В настоящее время я использую:

::SetWindowPos(hwnd, GetForegroundWindow(), 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);

Он работает нормально, но в некоторых (мне неизвестных) случаях делает окно всегда наверху. Согласно MSDN, я должен использовать HWND_NOTOPMOST вместо GetForegroundWindow () , но это не работает - окно остается под другими (не всегда сверху) окнами.

Как я могу вывести окно на передний план, не активируя его?

7
задан Cody Gray 10 March 2011 в 10:04
поделиться