activeX フラッシュ コンポーネントが再生しているオーディオをキャプチャしようとしています。
これを行うには、flash.ocx モジュールを見つけて、waveOutWrite 関数をフックします。
これはうまくいくようですが、オーディオが同じスレッドから来て同じ出力デバイスをターゲットにしているように見えるため、内部で waveOutWrite を呼び出すさまざまな activex インスタンスを区別できません。
私の質問は、誰が waveOutWrite を呼び出しているかをどのように区別できるかということです。
モジュールのロードはCOMによって自動的に処理されるため、答えは各activexインスタンスのflash.ocxインスタンスのロードのどこかにあると思います。私が思いついたアイデアの 1 つは、別のプロセスで activex コンポーネントを作成することでした。これにより、waveOutWrite 関数が別のスレッドから呼び出されるようになることが期待されます。ただし、これはこれを達成するためのかなり複雑な方法のようです。
何か案は?