Остановите воспроизведение звука и громкости, когда приложение свернуто - PullRequest
1 голос
/ 29 ноября 2011

Я использовал функцию PlaySound в одном приложении C ++ под Windows. Когда это приложение выполняет локальную команду var PlaySound и оно начинает воспроизводить файл WAV.

Но когда вы нажимаете на диалоговое окно минимизации моего приложения, звук продолжает воспроизводиться, когда логическое правило должно быть отключено или отключено до тех пор, пока вы снова не развернете приложение.

Вопрос:

Есть ли в Windows состояние приложения, чтобы определить, когда приложение свернуто? Для установки функции waveOutSetVolume с помощью 0x00 = mute.

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Ваше приложение получит сообщение WM_WINDOWPOSCHANGED , когда окно приложения будет свернуто или развернуто.Проверьте структуру WINDOWPOS в lParam, чтобы определить новое состояние.Затем вы можете выключить или включить звук, соответственно.(Примечание: это сообщение также отправляется, когда окно перемещается, отправляется назад и т. Д. Поэтому проверьте lParam.)

Если приложение в настоящий момент свернуто, можно проверить с помощью IsIconic .

И я не нахожу логичным, что звук должен перестать воспроизводиться, когда приложение свернуто.В конце концов, это многозадачная ОС.Я хочу, чтобы он делал вещи параллельно.

1 голос
/ 30 ноября 2011

Сделайте так, чтобы окно вашего приложения перехватывало сообщение WM_SYSCOMMAND и проверяло его на уведомления SC_MINIMIZE, SC_MAXIMIZE и SC_RESTORE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...