다른 응용 프로그램에서 창을 앞으로 가져오고 싶습니다. 현재 사용하고 있습니다 :활성화하지 않고 다른 앱 창을 앞으로 가져 오는 방법은 무엇입니까?
::SetWindowPos(hwnd, GetForegroundWindow(), 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
괜찮 았지만 일부 (나에게 알려지지 않은) 경우에는 창을 항상 위에 표시합니다. MSDN에 따르면 GetForegroundWindow()
대신 HWND_NOTOPMOST
을 사용해야하지만 작동하지 않습니다.이 창은 다른 창 (항상 맨 위에있는 것은 아닙니다) 아래에 있습니다.
어떻게 활성화시키지 않고 창을 앞으로 가져올 수 있습니까?
문서는 'HWND_NOTOPMOST' "가 이미 윈도우가 최상위가 아닌 창이면 효과가 없다고 말합니다." –
일부 대안은 다음과 같습니다. http://stackoverflow.com/questions/916259/win32-bring-a-window-to-top –
* 다른 질문에 대한 제안 된 답변 중 아무 것도 * 좋은 해결책이 아닙니다. 그 전체 질문은 엉망입니다. 데이비드가 당신의 대답을 얻었습니다. –