Win32 :: setforegroundwindow () не работает постоянноC++

Программы на C++. Форум разработчиков
Anonymous
Win32 :: setforegroundwindow () не работает постоянно

Сообщение Anonymous »

Я работаю над инструментом 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

Вернуться в «C++»