Мне нужно отключить и включить звук из других процессов в Windows XP. Я ищу лучшую стратегию. Можно написать микшер Kernel Mode, который будет фильтровать входы на устройство вывода? Мой другой подход - установить хуки для перехвата вызовов Win32 различными API. Я бы сильно предпочел менее инвазивный подход.
Некоторые соображения:
Вероятно, было бы достаточно охватить приложения, использующие системные компоненты WinMM и DirectSound (т.е. мне не нужно беспокоиться о других аудиоинтерфейсах).
Это в конечном итоге нужно будет использовать из приложения C #. Я достаточно опытен в взаимодействии, но у меня нет внутренних знаний о Win32, чтобы это произошло.
Можно было бы перечислить все приложения, которые необходимо отключить, и подойти к каждому приложению отдельно, хотя ожидается, что этот список будет расти.
P.S. В случае, если кто-то обеспокоен, эти операции будут выполняться с согласия пользователя (без сомнительного бизнеса).