Захват звука одного приложения с помощью Win32

Как мне захватить аудиовыход одного приложения с помощью Win32/С++/С#, избегая при этом подключения к IAudioRenderClient?

Мне удалось найти только решения для захвата всего аудиовыхода системы (точнее, активного в данный момент порта аудиовыхода/устройства захвата) либо через DirectShow, либо через различные другие функции Win32 API (WASAPI и т. д.), которые были немного help (потому что мне нужен только один аудиовыход приложений). Единственным жизнеспособным решением, казалось, было подключение приложений IAudioRenderClient и последующий вызов IAudioRenderClient::GetBuffers() в соответствии с это.

Причина, по которой я пытаюсь избежать этого, заключается в том, что большинство приложений, которые я намереваюсь захватить, защищены различными античитерскими системами, способными обнаруживать внедрение кода, но неспособными отличить его от настоящего чита.

Любые указатели на API/API-функции и т. д. или что-либо, что заглушит мои опасения по поводу ложного обнаружения, будут высоко оценены.


person Jake    schedule 07.09.2016    source источник
comment
Да, вот ПОЧЕМУ большинство приложений, которые [вы] намереваетесь захватить, защищены различными анти-читерскими системами. Нарушенные законы о копрайтинге. Кому они нужны?   -  person Shannon Holsinger    schedule 07.09.2016
comment
Вам придется зацепиться. И, скорее всего, не только IAudioRenderClient, но и все звуковые API, используемые рассматриваемыми приложениями.   -  person Roman R.    schedule 07.09.2016