Изменить громкость программы#39;s на Win 7

Я хочу изменить громкость программы (, а не основную громкость ). У меня есть следующий код прямо сейчас:

DllImport("winmm.dll")]
public static extern int waveOutGetVolume(IntPtr hwo, out uint dwVolume);

[DllImport("winmm.dll")]
public static extern int waveOutSetVolume(IntPtr hwo, uint dwVolume);

private void volumeBar_Scroll(object sender, EventArgs e)
{
    // Calculate the volume that's being set
    int NewVolume = ((ushort.MaxValue / 10) * volumeBar.Value);
    // Set the same volume for both the left and the right channels
    uint NewVolumeAllChannels = (((uint)NewVolume & 0x0000ffff) | ((uint)NewVolume << 16));
    // Set the volume
    waveOutSetVolume(IntPtr.Zero, NewVolumeAllChannels);
}

Это работает только в Win XP, а не в Windows 7 (и, вероятно, ни в Vista, ни ). Я не нашел ни одного скрипта, который сделает то же самое на Win 7, только для изменения основного тома (, который мне не нужен ).

7
задан Phil 25 April 2012 в 19:00
поделиться