Давным-давно разработчики Windows поняли, что позволить одному приложению иметь полный контроль над аудиосистемой (тем самым отключая другие приложения) было плохой идеей.А затем они устарели многие из этих флагов «эксклюзивный» и основной / фоновый режим.Я полагаю, что это изменение поведения полностью восходит к DirectX 7.1 (WinME), а затем формально повсеместно в DX 8. Это было 10 лет назад.
Представьте, что приложение для видеоконференций отключается, когда вы переключаете приложение переднего плана наприложение, которое запускало аудио в каком-то эксклюзивном режиме.Неспособность надежно услышать кого-либо при переключении между приложениями - это не очень хороший опыт.
На самом деле, до DX 8 многие популярные приложения для голосовой связи для многопользовательских игр постоянно обнюхивалиобрабатывать окно переднего плана и использовать его для вызова SetCooperativeLevel, чтобы они не отключались.
Думаю, было бы интересно узнать, "что вы действительно хотите делать?"это заставляет вас думать, что вам нужен полный контроль над аудиовыходом.
В Vista и выше есть API WASAPI для низкоуровневого звука.Я считаю, что существует концепция «эксклюзивного» режима, но я не знаю, превосходит ли это другие приложения, использующие звуковую карту.YMMV.