Я работаю над инструментом Messenging. Окно обмена сообщениями является частью всего приложения. Мне нужно, чтобы окно перейти на фронт, когда появятся некоторые сообщения. Я использую этот код: < /p>
if( m_hwnd == NULL || !::IsWindow(m_hwnd) )
return E_UNEXPECTED;
if(::IsIconic(m_hwnd))
{
::ShowWindowAsync( m_hwnd, SW_RESTORE );
}
::SetWindowPos(m_hwnd, HWND_TOP, 0, 0, 0, 0, SWP_ASYNCWINDOWPOS | SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
::SetForegroundWindow(m_hwnd);
if( pvbProcessed != NULL )
*pvbProcessed = VARIANT_TRUE;
return S_OK;
< /code>
Я даже пытался сделать самый верхний, но все же в некоторых случаях он не работает.
Я также попробовал :: raventofront (). < /p>
Кто -то может помочь или дать объяснение, почему он не работает? Это известное ограничение Microsoft.
Подробнее здесь: https://stackoverflow.com/questions/191 ... l-the-time