一个项目中要用到的一个功能,但是这种方法仅限于直接增加和减小音量。最理想化的控制条来控制音量还需要调研。
经过测试,这种方法在win7下也能正常使用
如图
代码如下

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; // dll引用要用到的 namespace WindowsFormsApplication2 { public partial class Form1 : Form { [DllImport( " user32.dll " , CharSet = CharSet.Auto, SetLastError = true )] static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, uint wParam, uint lParam); const uint WM_APPCOMMAND = 0x319 ; const uint APPCOMMAND_VOLUME_UP = 0x0a ; const uint APPCOMMAND_VOLUME_DOWN = 0x09 ; const uint APPCOMMAND_VOLUME_MUTE = 0x08 ; public Form1() { InitializeComponent(); } private void button1_Click( object sender, EventArgs e) { // 增加音量 SendMessage( this .Handle, WM_APPCOMMAND, 0x30292 , APPCOMMAND_VOLUME_UP * 0x10000 ); } private void button2_Click( object sender, EventArgs e) { // 减少音量 SendMessage( this .Handle, WM_APPCOMMAND, 0x30292 , APPCOMMAND_VOLUME_DOWN * 0x10000 ); } private void button3_Click( object sender, EventArgs e) { // 静音切换 SendMessage( this .Handle, WM_APPCOMMAND, 0x200eb0 , APPCOMMAND_VOLUME_MUTE * 0x10000 ); } private void button1_MouseDown( object sender, MouseEventArgs e) { } } }