views:

115

answers:

2

I am trying to make an app that controls the volume of another process using the Windows 7 Audio API.

What I'm looking for is the ISimpleAudioVolume for the session used by the other process.

I have tried using the IAudioSessionEnumerator but it will only give me the IAudioSessionControl2 of the session. Using the IAudioSessionControl I have managed to receive notifications when I change the volume through sndvol but not change it myself.

I have also tried using GetSimpleAudioVolume() from IAudioSessionManager but it will only give me sessions within the current process.

How do you do it? It should be possible since sndvol is doing this.

A: 

There is an MSDN forum question and Blog Post about this very question. Hope this helps.

0A0D
I can't find anything about my problem in the links. The blog is about controlling the master volume and the forum thread is about changing volumes of input devices? Am I missing something?
Anton Hansson
Well, I am going to guess that Windows 7 keeps you in a sandbox and will not let you modify the volume of other apps. The alternative (posted above) is that you modify the master volume. It will modify the volume for ALL apps, but that's the closest I could find.
0A0D
A: 

According to Larry Osterman

"There is no publicly documented mechanism for doing what you're trying to do."

Anton Hansson