У меня есть приложение с областью уведомлений. Всякий раз, когда я получаю уведомление, я называюAnimateWindow win32 Api
::AnimateWindow(m_hWnd,duration,flags)
Когда окно приложения видно или минимизировано, уведомление прекрасно работает. Когда я закрываю приложение, он запускается в системном трее. В течение этого времени, если происходит уведомление, требуется фокус экрана. Поэтому, если я нахожусь в другом приложении, я теряю сосредоточенность на этом и должен нажать на другое приложение, чтобы вернуть фокус. Почему AnimateWindow ведет себя по-разному в зависимости от того, открыто или закрыто окно. Есть ли способ сказать ОС остановить фокус на уведомлении?
Обновление: Я думаю, что описание было не ясным. Окно анимации используется для отображения уведомления в системном трее. Это не для главного окна приложения.
Что вы передаете для 'flags'? «AW_ACTIVATE» активирует окно. –
Я вообще не использую 'AW_ACTIVATE'. Флаги предназначены только для анимации слайдов. Также почему поведение будет отличаться, когда я использую тот же код как раз. Это ожидаемое поведение окон? – user59077
Не знаю. Но если ваше окно скрыто, анимация не будет видна в любом случае, так почему бы просто не проверить это условие и вместо этого вызвать «ShowWindow»? –